#!Perl ... # storing data in %a, $c, @d # in your script like this @d=(10,11,12,132); $c="Hello!"; %a=(first => 1, second => 2); ... while(@ARGV){ my $param=shift; if($param=~/\$/){ print "Variable $param=".eval "$param"; }elsif($param=~/\@/){ print "Array $param=\n".join("\n",eval "$param"); }elsif($param=~/\%/){ my %tmp=eval "$param"; print "Keys of hash $param=\n".join("\n", keys %tmp); }else{ print "Param error =)"; } print "\n"; }