Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. use strict;
  2. use warnings;
  3.  
  4. use File::Copy;
  5.  
  6. my $delete = 'small.csv';
  7. my $file = 'large.csv';
  8. my $backup = "$file.bak";
  9. copy $file, $backup or die "Copy failed: $!";
  10.  
  11. open my $in_dh, '<', $delete or die "$delete: $!";
  12. open my $in_fh, '<', $backup or die "$backup: $!";
  13. open my $out_fh, '>', $file or die "$file: $!";
  14.  
  15. my $match = <$in_dh>;
  16. while (my $line = <$in_fh>) {
  17. if (index ($line, $match) == -1) {
  18. print $out_fh $line;
  19. } else {
  20. $match = <$in_dh>;
  21. }
  22. }
  23.  
  24. close $in_dh;
  25. close $in_fh;
  26. close $out_fh;
  27.  
  28. use strict;
  29. use warnings;
  30. use 5.010;
  31.  
  32. my @needles;
  33. while (<>) {
  34. chomp;
  35. push @needles, $_;
  36. last if eof;
  37. }
  38.  
  39. {
  40. local $^I = '.bak';
  41.  
  42. my $needle = shift @needles;
  43. while (<>) {
  44. chomp;
  45.  
  46. if (! defined $needle or index($_, $needle) == -1) {
  47. say;
  48. }
  49. else {
  50. $needle = shift @needles;
  51. }
  52. }
  53. }
  54.  
  55. /path/to/script needles haystack
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement