in reply to Re: The "<" in the grep block
in thread The "<" in the grep block

This statement allows to use glob in cmd (Win32). Without this line the script if run as:
C:\perl\bin>perl script.pl N:/TEMP/*
throws the following message:
Use of uninitialized value in numeric lt (<) at script.pl line 8. N:/TMP/*
I have found this line by BrowserUK some time ago (cannot find the original node now) and I am very grateful for it.

Update: Did not see the post from BrowserUK before I sent my message.

Replies are listed 'Best First'.
Re^3: The "<" in the grep block
by 2teez (Vicar) on Sep 23, 2012 at 18:17 UTC

    I agree that

    @ARGV = map{glob} @ARGV; ....
    does work, however, I think since "glob" can do the expansion, why not use
    my @smaller_than_1000 = grep { -s $_ < 1000 } glob("@ARGV"); ....
    see glob for detail.

    If you tell me, I'll forget.
    If you show me, I'll remember.
    if you involve me, I'll understand.
    --- Author unknown to me

      That works for this application, but wouldn't for the more common uses:

      BEGIN{ @ARGV = map glob, @ARGV } while( <> ) { ... }

      And

      perl -eBEGIN{@ARGV=map{glob}@ARGV} -nle"1" a*.pl b*.pl

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      RIP Neil Armstrong