in reply to Re: Easiest way to find all the Perl Modules on a system?
in thread Easiest way to find all the Perl Modules on a system?

monkfan,
Not only does your code not do what was asked for, I think it is broken. I believe both uses of glob in your while loop lead to infinite loops. I can't be sure as I don't have access to perl currently. Update: tye informed me this does work. This is because glob in scalar context doesn't create an iterator, it is an iterator. After re-reading I/O Operators in perlop I realized I was mistaken. I would still recommend spelling out glob over angle brackets to avoid confusion with readline.

Update 2: I am not sure why, but this still seems odd to me. Perhaps it is because I have less than 30 hours to wait before starting a 3 week vacation. I wonder how the following two examples would behave (i.e. how they are scoped):

while (my $file = next_file()) { print "$file\n"; } sub next_file { <*> }
while (my $file = next_file()) { print "$file\n"; my $next = <*>; last if ! defined $next; print "$next\n"; } sub next_file { <*> }

Cheers - L~R