/bin/perl test.pl input out1 0,2,4,6 0,1,2,3 out2 1,3,5,7 0,1,2,3 #### 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); } #### map1 : [ARRAY(0x1dc518c)] $VAR1 = { 'fname' => 'out1', 'map1' => [ '0', '2', '4', '6' ], 'fhandle' => bless( \*Symbol::GEN0, 'IO::File' ), }; . . . #### map : [0,2,4,6] . . .