Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: glob behavior

by rovf (Priest)
on Mar 20, 2012 at 08:34 UTC ( [id://960547]=note: print w/replies, xml ) Need Help??


in reply to Re: glob behavior
in thread glob behavior

What I can't explain is why the list would be empty if nothing else changed.
From perlop:

A (file)glob evaluates its (embedded) argument only when it is starting a new list. All values must be read before it will start over. I think this explains the effect we can see: The first time in the loop, the arguments for glob are evaluated and return one file name. The second time in the loop, the arguments are not evaluated again (since the list is not "exhausted" yet). Instead, glob tries to find the next file, but there is none, and returns undef to signal this fact. On the third iteration, the arguments are evaluated again, yielding one filename.

-- 
Ronald Fischer <ynnor@mm.st>

Replies are listed 'Best First'.
Re^3: glob behavior
by vagabonding electron (Curate) on Mar 20, 2012 at 08:56 UTC
    It seems to be the case since after I added
    U:/TEMP/TEMP/D/Test04.txt U:/TEMP/TEMP/E/Test05.txt
    it prints in the first version:
    A : U:/TEMP/TEMP/A : U:/TEMP/TEMP/A/Test01.txt D : U:/TEMP/TEMP/D : U:/TEMP/TEMP/D/Test04.txt C : U:/TEMP/TEMP/C : U:/TEMP/TEMP/C/Test03.txt E : U:/TEMP/TEMP/E : U:/TEMP/TEMP/E/Test05.txt B : U:/TEMP/TEMP/B : U:/TEMP/TEMP/B/Test02.txt
    and in the second version:
    A : U:/TEMP/TEMP/A : U:/TEMP/TEMP/A/Test01.txt, Use of uninitialized value $file in concatenation (.) or string at ... + line 17. D : U:/TEMP/TEMP/D : , C : U:/TEMP/TEMP/C : U:/TEMP/TEMP/C/Test03.txt, Use of uninitialized value $file in concatenation (.) or string at ... + line 17. E : U:/TEMP/TEMP/E : , B : U:/TEMP/TEMP/B : U:/TEMP/TEMP/B/Test02.txt,
    Thank you very much!
    What I do not understand though - to be honest - is why glob is not evaluated again on the second loop pass.
    VE
    Update: After reading perlop and your post twice I did catch it :-)
    Sometimes it takes longer to savvy.
    Thanks again!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://960547]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (5)
As of 2024-04-23 21:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found