$source = $x; $File::Find::dont_use_nlink = 1; File::Find::find( sub { if (-f $File::Find::name) { find(sub { $size1 += -s if -f $_ }, $File::Find::name); if ($size1 == 0) { print $File::Find::name;} } elsif (-d $File::Find::name) { find(sub { $size2 += -s if -d $_ }, $File::Find::name); if ($size2 == 0) { print $File::Find::name;} }; }, $source );