More things that you can put inside @{[]} .
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my $complex = {
a => [ 1, 2, 3 ],
b => [ { x => 1, y => 2, z => 3 }, 'alpha', [qw(even more nested )
+] ],
c => { one => [qw(more value)] }
};
# a function result
print "@{[ eval 'Data::Dumper->Dump([$complex ],[q{complex} ])' ]}";
# a list
print "@{[ ('aa'..'at') ]}\n";
# a list generated by a Regex
print "@{[ 'hello Perl!' =~ /./g ]}\n";
# a list from a filehandle
{
local $/;
print "@{[ <DATA> ]}\n";
}
# (update) or simply
print "@{[ <DATA> ]}\n";
# a list from globbing
print "@{[ <*.pm> ]}\n";
__DATA__
This
is
text
from
DATA
This would be the resulting output (The *.pm files depend on your current dir, of course).
$complex = {
'a' => [
1,
2,
3
],
'b' => [
{
'x' => 1,
'y' => 2,
'z' => 3
},
'alpha',
[
'even',
'more',
'nested'
]
],
'c' => {
'one' => [
'more',
'value'
]
}
};
aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at
h e l l o P e r l !
This
is
text
from
DATA
Basename.pm CheckTree.pm Compare.pm Copy.pm DosGlob.pm Find.pm Path.pm
+ Spec.pm stat.pm Temp.pm