X-Git-Url: http://git.shiar.net/perl/file-rewrite.git/blobdiff_plain/612e12475adbffa874c33d7e1db2955cf5fd41b5..6ad6da685e4d484f4937dfd8784195cbf6d3470f:/lib/File/Rewrite.pm diff --git a/lib/File/Rewrite.pm b/lib/File/Rewrite.pm index bb41513..5a30a32 100644 --- a/lib/File/Rewrite.pm +++ b/lib/File/Rewrite.pm @@ -10,20 +10,30 @@ our @EXPORT_OK = qw(fileset); sub fileset { my ($filename, $replace, $search) = @_; - die if defined $replace; + $search = $replace if not defined $search; my $tmpname = "$filename.$$.tmp"; my $changes = 0; open my $src, '<', $filename; open my $dest, '>', $tmpname; while (readline $src) { + chomp; if ($_ =~ (ref $search ? $search : qr/^\Q$search\E$/)) { + if (defined $replace and $_ eq $replace) { + undef $replace; + } + else { $changes++; next; + } } print {$dest} $_, $/; } close $src; + if (defined $replace) { + $changes++; + print {$dest} $replace, $/; + } close $dest; if ($changes) {