http://www.perlmonks.org?node_id=960597


in reply to Re: glob behavior
in thread glob behavior

... and now after changing the line from
my $file = glob ("$address{$t}/Test*");
to
my ($file) = glob ("$address{$t}/Test*");
the output is as follows:
A : U:/TEMP/TEMP/A : U:/TEMP/TEMP/A/Test01.txt, ### A : U:/TEMP/TEMP/A : U:/TEMP/TEMP/A/Test01.txt --- D : U:/TEMP/TEMP/D : U:/TEMP/TEMP/D/Test04.txt, ### D : U:/TEMP/TEMP/D : U:/TEMP/TEMP/D/Test04.txt --- C : U:/TEMP/TEMP/C : U:/TEMP/TEMP/C/Test03.txt, ### C : U:/TEMP/TEMP/C : U:/TEMP/TEMP/C/Test03.txt --- E : U:/TEMP/TEMP/E : U:/TEMP/TEMP/E/Test05.txt, ### E : U:/TEMP/TEMP/E : U:/TEMP/TEMP/E/Test05.txt --- B : U:/TEMP/TEMP/B : U:/TEMP/TEMP/B/Test02.txt, ### B : U:/TEMP/TEMP/B : U:/TEMP/TEMP/B/Test02.txt ---

Replies are listed 'Best First'.
Re^3: glob behavior
by davido (Cardinal) on Mar 20, 2012 at 19:23 UTC

    Once again you're dealing with different contexts. my $file = glob ... evaluates glob in scalar context, rendering it an iterator function, and my ($file) = glob ... evaluates glob in list context, rendering it a list function that returns a list, which can be empty.


    Dave

      Thank you Dave,
      in fact I did not intend to object but rather to show that I understood the difference now :-)
      VE