in reply to How do I determine whether a folder is empty?

# Returns: # 1 - empty # 0 - not empty # -1 - doesn't exist # Definition of "empty" -- no files/folders/links except . and .. sub isEmpty{ my ($dir) = @_; my $file; if (opendir my $dfh, $dir){ while (defined($file = readdir $dfh)){ next if $file eq '.' or $file eq '..'; closedir $dhf; return 0; } closedir $dfh; return 1; }else{ return -1; } }
--perlplexer

Replies are listed 'Best First'.
Re: Re: How do I determine whether a folder is empty?
by derby (Abbot) on May 21, 2003 at 15:05 UTC
    ++ ... but ...

    # -1 - doesn't exist or # you don't have permission to open or read the dir

    -derby

Re: Re: How do I determine whether a folder is empty?
by crouchingpenguin (Priest) on May 21, 2003 at 16:28 UTC

    sorry, couldn't resist =]

    #!/usr/bin/perl use strict; use warnings; sub isEmpty { opendir(DIR,shift) or die $!; my @files = grep { !m/\A\.{1,2}\Z/} readdir(DIR); closedir(DIR); @files ? 0 : 1; } print isEmpty('./dir') ? "empty\n" : "not empty\n";

    cp
    ----
    "Never be afraid to try something new. Remember, amateurs built the ark. Professionals built the Titanic."