use strict; use warnings; use Data::Dumper; my @msgs; push @msgs, [ "1st array: line 1", "1st array: line 2" ]; push @msgs, [ "2nd array: line 1", "2nd array: line 2", "2nd array: line 3" ]; print Dumper(\@msgs); my $i = 0; for my $arr (@msgs) { ++$i; print "array $i:\n"; for my $line (@{$arr}) { print " $line\n"; } }