in reply to Hi Monks could you pls help Perl dummy user

use strict; use warnings; recdir( shift || '.' ); exit 0; sub recdir { my ($dir) = @_; opendir my $dh, $dir or die $!; while ( my $file = readdir $dh ) { next if $file eq '.' or $file eq '..'; my $full_name = "$dir/$file"; if ( -x -r -d $full_name ) { recdir($full_name); } elsif ( -r -f _ ) { my $size = -s _; next if $size < 500; print $full_name, ' ', $size, "\n"; } } }

Replies are listed 'Best First'.
Re^2: Hi Monks could you pls help Perl dummy user
by Anonymous Monk on Dec 17, 2014 at 09:29 UTC
    while ( my $file = readdir $dh ) {
    Come to think of it, should probably be
    while ( defined( my $file = readdir $dh ) ) {
      No no, it has to have five defined , like this
      while ( defined defined defined defined defined( my $file = readdir $d +h ) ) {
        Mmmm, I thought only readline is special-cased. Who can remember all this ****.