in reply to Re^3: Using grep and glob to find directories containing file
in thread Using grep and glob to find directories containing file
I still think something is wrong...
If I do something like:
In other words, I can understand why 'glob' is stateful when it is the loop iterator. But it makes no sense (to me) (and seems wrong) for it to be stateful when it is not the iterator. Because then unwinding a loop give a different answer.
If I do something like:
and then run:mkdir dir1 dir2 touch dir1/f{1,2}
I get 'dir1' printed 3 times (NOT 4). But if I unwind the loop:foreach (1,2,3,4) { print "dir1\n" if glob("dir1/f*"); print "dir2\n" if glob("dir2/f*"); }
Then I get 'dir1' printed 4 times!!!print "dir1\n" if glob("dir1/f*"); print "dir2\n" if glob("dir2/f*"); print "dir1\n" if glob("dir1/f*"); print "dir2\n" if glob("dir2/f*"); print "dir1\n" if glob("dir1/f*"); print "dir2\n" if glob("dir2/f*"); print "dir1\n" if glob("dir1/f*"); print "dir2\n" if glob("dir2/f*");
In other words, I can understand why 'glob' is stateful when it is the loop iterator. But it makes no sense (to me) (and seems wrong) for it to be stateful when it is not the iterator. Because then unwinding a loop give a different answer.
In Section
Seekers of Perl Wisdom