#!/usr/bin/perl
my $data = [
[ 1, 2, 3, 4 ],
[ 10, 20, 30 ],
[ 100, 200, 300 ],
];
####
my $gpat = do {
local $" = '}\ -\ {';
qq({@{[
map {
local $" = ',';
"@$_";
} @$data
]}});
};
print $gpat, $/;
{
local $, = "\n";
print glob $gpat;
print $/;
}
####
__END__
{1,2,3,4}\ -\ {10,20,30}\ -\ {100,200,300}
1 - 10 - 100
1 - 10 - 200
1 - 10 - 300
1 - 20 - 100
1 - 20 - 200
1 - 20 - 300
1 - 30 - 100
1 - 30 - 200
1 - 30 - 300
2 - 10 - 100
2 - 10 - 200
2 - 10 - 300
2 - 20 - 100
2 - 20 - 200
2 - 20 - 300
2 - 30 - 100
2 - 30 - 200
2 - 30 - 300
3 - 10 - 100
3 - 10 - 200
3 - 10 - 300
3 - 20 - 100
3 - 20 - 200
3 - 20 - 300
3 - 30 - 100
3 - 30 - 200
3 - 30 - 300
4 - 10 - 100
4 - 10 - 200
4 - 10 - 300
4 - 20 - 100
4 - 20 - 200
4 - 20 - 300
4 - 30 - 100
4 - 30 - 200
4 - 30 - 300