@input_lists = (()); @temp_array = (1,2,3,4,5); push (@input_lists, [@temp_array]); push (@input_lists, [@temp_array]); push (@input_lists, [@temp_array]); print_2D_array (@input_lists); sub print_2D_array { my @my_array; my $loop1, $loop2, $mysize; (@my_array)=@_; for ($loop1=0; $loop1<=$#my_array; $loop1=$loop1+1) { $mysize = @{$my_array[$loop1]}; for ($loop2=0; $loop2<$mysize; $loop2=$loop2+1) { print $my_array[$loop1][$loop2]." || "; } print "\n\n"; } print "\n"; }