if you find a way to escape curlies and other "wildcard characters"
####
#!/usr/bin/perl
# https://perlmonks.org/?node_id=1226189
use strict;
use warnings;
#print glob qq("$_") =~ s/[^|\n]+/{$&}/gr while ;
print map tr/\1-\7/{}[]"*?/r, glob
+('"' . tr/{}[]"*?/\1-\7/r . '"') =~ s/[^|\n]+/{$&}/gr
while ;
__DATA__
some text foo | some text BAR | oh , no , commas | some text BAZ | some text QUX
some,text,FOO{3} | some text BAR*? | "one" two | some , text , QUX
####
some text foo | some text BAR | oh | some text BAZ | some text QUX
some text foo | some text BAR | no | some text BAZ | some text QUX
some text foo | some text BAR | commas | some text BAZ | some text QUX
some| some text BAR*? | "one" two | some
some| some text BAR*? | "one" two | text
some| some text BAR*? | "one" two | QUX
text| some text BAR*? | "one" two | some
text| some text BAR*? | "one" two | text
text| some text BAR*? | "one" two | QUX
FOO{3} | some text BAR*? | "one" two | some
FOO{3} | some text BAR*? | "one" two | text
FOO{3} | some text BAR*? | "one" two | QUX