Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: List all directories

by mandog (Curate)
on Sep 25, 2003 at 19:25 UTC ( #294226=note: print w/replies, xml ) Need Help??

in reply to List all directories

A lot depends on your needs. If this was a throw away script, You could do something ugly like:

system('ls -Rl ~| grep ^d');

You could look at File::Find and the -d function

If you couldn't figure out File::Find, you could do something like this:

my $DIE_MSG="FATAL ERROR"; sub get_bytes_in_file_list { my @files = @_; my $size=0; foreach my $file (@files) { die "can't read $file $DIE_MSG" if ( !-r $file ); if ( -d $file ) { opendir( DH, $file ) or die "$! bad open directory $file $DIE_MSG\n"; my @sub_files = map { "$file/$_"; } grep { $_ ne '.' && $_ ne '..'; } readdir(DH); closedir(DH) or die "$! couldn't close dir:$file\n$DIE_MSG +"; $size += get_bytes_in_file_list(@sub_files) if (@sub_files) # don't check empty dir; } else { $size += ( stat($file) )[7]; } } return $size; }

email: mandog

Replies are listed 'Best First'.
Re: Re: List all directories
by Anonymous Monk on Sep 25, 2003 at 20:51 UTC
    I like the way you are doing it, but this just to show the binary size , how would I make it list the directories name like /bla/ba2/ba23 thanks for your help

      Is this homework?

      A couple other monks have provided much slicker, one line solutions that you can copy 'n paste...

      To answer your specific quesion, you can add print statements to various places in the sub...and perhaps remove bits of code that aren't relivant to your purposes

      email: mandog
        ok mandog. thanks
        mandog , I don't use perl at all . this a small script I have to write at work thats all. I will probably never used perl again . but thanks for your help anyway.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://294226]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2019-05-25 11:19 GMT
Find Nodes?
    Voting Booth?
    Do you enjoy 3D movies?

    Results (152 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!