display | more...

The glob built-in function performs exactly UN*X-style filename globbing, as detailed in the Jargon File (entry below). Specifically, it globs according to the same rules as csh does.

This glob may also be referred to by using an appropriate pattern inside angle brackets.

To print all files ending in `rc', use either of these:

print "$_\n" while ($_ = glob '{.,}*rc')
print "$_\n" while (<{.,}*rc>)
To print all choices of one of a,b,c, one of d,e and one of f,g,h, use either
print "$_\n" while ($_ = glob '{a,b,c}{d,e}{f,g,h}')
print "$_\n" while (<{a,b,c}{d,e}{f,g,h}>)
Note that csh globbing rules do not make any reference to existing files when expanding curly braces, so it works. (This trick is probably due to the illustrious Randal Schwartz).

In an interesting reversal of the history of glob in the Bourne shell (see Jargon File entry below), originally glob was built into perl; since v5.6.0, however, "this operator is implemented using the standard "File::Glob" extension".

Confusingly, `glob' is also used in Perl as a shorthand for typeglob.