I'm trying to create a little app that shows a list of files on a web-page to be commented on.
It seems all to work. The web-page is generated via reading the content of a directory. I'd like to parse the list of images to_json to use it in a form. However I can't seem to get this parsing right.
"error" : "write_file '' - sysopen: No such file or directory at /Users/test/mytest/lib/mytest.pm line 35.\n"
Maybe someone can give me a hint what I'm doing wrong?
Gert
package mytest;
use Dancer ':syntax';
use List::Util;
use File::Slurp qw(read_file write_file);
our $VERSION = '0.1';
set serializer => 'JSON';
get '/' => sub {
template 'index' => { photos => AoH_imagelist(), };
};
#---------------------------------------------------------------------
#
# function to read image-dir-gallery and create imagelist stored in Ao
+H
#
#---------------------------------------------------------------------
sub AoH_imagelist {
my @photos;
my $images_dir =
Dancer::FileUtils::path( setting('appdir'), 'public/images/galle
+ry' );
opendir( my $dh, $images_dir ) || die "can't opendir $images_dir:
+$!";
my @image_files = grep { $_ if /\.jpg$/i } readdir($dh);
for my $i (@image_files) {
push @photos, { file => "$i", caption => "" };
}
#-------v this doesn't work? --------#
my $filename = config->{mytest}{json};
my $json = -e $filename ? read_file $filename : '{}';
my $data = \@photos;
#my $data = from_json $json;
$data = { file => params->{file} , caption => params->{caption}, }
+;
# description to be added
write_file $filename, to_json($data);
#-------^-----------------------------#
return \@photos;
}
true;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|