$ perl -e' use strict; use warnings; print "here1\n"; @files = <*>; foreach $file (@files){ print $file . "\n"; } print "here2\n"; ' Global symbol "@files" requires explicit package name at -e line 5. BEGIN not safe after errors--compilation aborted at -e line 5. $ perl -e' use strict; use warnings; print "here1\n"; my @files = <*>; # <-- my foreach my $file (@files){ print $file . "\n"; } # <-- my print "here2\n"; ' here1 Build.PL Changes.txt inc lib LICENSE.txt MANIFEST MANIFEST.SKIP README.txt t here2