#!/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