summaryrefslogtreecommitdiff
path: root/lib/SlackBuild/Request/Loader/file.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SlackBuild/Request/Loader/file.pm')
-rw-r--r--lib/SlackBuild/Request/Loader/file.pm25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/SlackBuild/Request/Loader/file.pm b/lib/SlackBuild/Request/Loader/file.pm
new file mode 100644
index 0000000..2a8cae6
--- /dev/null
+++ b/lib/SlackBuild/Request/Loader/file.pm
@@ -0,0 +1,25 @@
1package SlackBuild::Request::Loader::file;
2use strict;
3use warnings;
4use JSON;
5use YAML ();
6use Carp;
7
8our $PRIORITY = 10;
9
10sub Load {
11 my ($class, $reqname) = @_;
12 if (-f $reqname) {
13 local $/ = undef;
14 open(my $fd, $reqname) or croak "can't open file $reqname: $!";
15 my $string = <$fd>;
16 close $fd;
17 if ($string =~ /^\{/) {
18 return decode_json($string);
19 }
20 return YAML::Load($string);
21 }
22}
23
241;
25

Return to:

Send suggestions and report system problems to the System administrator.