for ($ii=1;$ii<=@ARGV-1;$ii+=3) # three-tuples (outfile, map1, map2) { $files[(($ii-1)/3)]{fname}=$ARGV[$ii]; $files[(($ii-1)/3)]{fhandle}= new IO::File ">".$files[(($ii-1)/3)]{fname}; $files[(($ii-1)/3)]{map1}=[split /,/,$ARGV[$ii+1]]; print "map1 : [" . join /,/,$files[(($ii-1)/3)]{map1} . "]\n"; print Dumper(@files); }