http://www.perlmonks.org?node_id=596288


in reply to map return to array reference

Hi silent11,

Since you're assigning to an array reference (my $files_to_send = ...), you should enclose the results of the map in [ ... ]:

my $files_to_send = [ map {"$stage/$_.pdf"} @{$self->_getGood()} ];

Otherwise, you're assigning to the count of the items in the array (using the array in scalar context).

Oh, and you could also simplify @{$files_to_send} to just @$files_to_send.  In fact, if you don't care about printing newlines, you might make it really simple:

print "@$files_to_send\n";

s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/