use Data::Dumper; my $dir=$ARGV[0]; print Dumper(\@ARGV); print $dir; print shift; __END__ D:\tmp\Scripts>z1.pl foo $VAR1 = []; Use of uninitialized value $dir in print at D:\tmp\Scripte\z1.pl line 12. Use of uninitialized value in print at D:\tmp\Scripte\z1.pl line 14. D:\tmp\Scripts>perl z1.pl foo $VAR1 = [ 'foo' ]; foofoo D:\tmp\Scripte>