Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Can File:Find be used to find empty dirs?

by 2teez (Priest)
on Nov 20, 2013 at 09:03 UTC ( #1063489=note: print w/ replies, xml ) Need Help??


in reply to Can File:Find be used to find empty dirs?

Hi PerlPlay,
Of course you can still use File::Find modifying your code like so:

use strict; use warnings; use File::Find; my $drive = $ARGV[0]; my @empty; my $ndirs = 0; find( \&listing, $drive ); #Do stuff here foreach my $files (@empty) { print "Found empty folder $files\n"; } print "Found $ndirs folders in total\n"; sub listing { return if /^\.{1,}/; if (-d) { my $number_of_files = grep $_ => glob("$_/*"); if ( $number_of_files == 0 ) { push @empty, $File::Find::name; $ndirs++; } } }
Though it might not be as effective and as clean as what was perilously mentioned. Need I say, this was not tested on window OS.

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

Replies are listed 'Best First'.
Re^2: Can File:Find be used to find empty dirs?
by PerlPlay (Novice) on Nov 20, 2013 at 22:40 UTC

    I've managed to test your code this morning and it works fine under Windows.

    Appreciate your effort.

      You are welcome, Sir!!

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me
Re^2: Can File:Find be used to find empty dirs?
by PerlPlay (Novice) on Nov 20, 2013 at 13:26 UTC

    Thanks I'll give that a go.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2016-06-25 10:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred method of making French fries (chips) is in a ...











    Results (325 votes). Check out past polls.