$ perl -Mstrict -Mwarnings -E '
my @nums = qw{ 1 2 3 };
my @ltrs = qw{ a b c };
my $iters = 2;
for my $iter ( 1 .. $iters )
{
for my $num ( @nums )
{
for my $ltr ( @ltrs )
{
say qq{$num$ltr};
}
}
}'
1a
1b
1c
2a
2b
2c
3a
3b
3c
1a
1b
1c
2a
2b
2c
3a
3b
3c
$
Another way to do this would be to localise the list separator and use glob and the list multiplier in a do block.
$ perl -Mstrict -Mwarnings -E '
my @nums = qw{ 1 2 3 };
my @ltrs = qw{ a b c };
my $iter = 2;
say for do {
local $" = q{,};
( glob qq{{@nums}{@ltrs}} ) x $iter;
};'
1a
1b
1c
2a
2b
2c
3a
3b
3c
1a
1b
1c
2a
2b
2c
3a
3b
3c
$
I hope this is of interest.
|