Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

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


Comment on Re: List all directories
Select or Download Code
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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2014-10-20 13:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (76 votes), past polls