Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use File::Find;
  5. use Parallel::ForkManager;
  6.  
  7. my $MAX_PROC = 5;
  8.  
  9. my $pm = Parallel::ForkManager->new($MAX_PROC);
  10.  
  11. opendir my $dh, '.';
  12.  
  13. while (readdir $dh) {
  14. my $entry = $_;
  15. next if $entry eq '.';
  16. next if $entry eq '..';
  17. if (-f $entry) {
  18. my $size = (stat $entry)[7];
  19. if ($size == 0) {
  20. printf "%s\n", $entry;
  21. }
  22. }
  23.  
  24. if (-d $entry) {
  25. $pm->start and next;
  26. find({
  27. wanted => sub {
  28. my $name = $File::Find::name;
  29. return unless (-f $name);
  30. my $size = (stat $name)[7];
  31. if ($size == 0) {
  32. printf "%s\n", $name;
  33. }
  34. },
  35. no_chdir => 1,
  36. }, $entry);
  37. $pm->finish;
  38. }
  39. }
  40.  
  41. $pm->wait_all_children;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement