Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: glob behavior

by rovf (Priest)
on Mar 20, 2012 at 08:34 UTC ( #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>


Comment on Re^2: glob behavior
Select or Download Code
Re^3: glob behavior
by vagabonding electron (Hermit) 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
Node Status?
node history
Node Type: note [id://960547]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2014-08-23 21:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (178 votes), past polls