The cross (X) meta-operator
The X prefix can also be used on any infix operator to make it "cross":
my @files = <data index>; my @ext = <001 002 003>; say (@files X~ '.' X~ @ext).join("\n");
produces:
data.001 data.002 data.003 index.001 index.002 index.003