On Wed, Jan 30, 2002 at 10:47:49AM +0100, Bart Lateur wrote:
> On Wed, 30 Jan 2002 14:17:01 +1100, [EMAIL PROTECTED] wrote:
> 
> >but then I remembered a post by Perl Monk tilly (something
> >about a color chart) where he used glob in a most perverse way.
> >I had never done this myself, however, so I started with a small
> >program:
> >
> >@a = glob('|y|{a,e,i,o,u,y,}||c');
> >for my $x (@a) { print "x=$x\n" }
> >
> >This produced a list of just the type I wanted!
> 
> OK, for the people who haven't seen that post... how does it work? Even
> on stupid Win98, FGS!
> 
> Isn't glob() supposed to return only files that actually exist?

No. glob() returns the files that exists, but only if there exists
at least one. Otherwise, it just does the { } expansion, and leaves
things as is. Just like in *some* shells.

    bash $ echo yy*
    yy*
    bash $ echo y?y
    y?y
    bash $ echo y{a,e,i,o,u,y,}y
    yay yey yiy yoy yuy yyy yy
    
    ksh $ echo yy*
    yy*
    ksh $ echo y?y
    y?y
    ksh $ echo y{a,e,i,o,u,y,}y
    y{a,e,i,o,u,y,}y

    csh % echo yy*
    echo: No match
    csh % echo y?y 
    echo: No match
    csh % echo y{a,e,i,o,u,y,}y        
    yay yey yiy yoy yuy yyy yy




Abigail

Reply via email to