5 use 5.010; # smart match
10 our $VERSION = '1.01';
11 our @EXPORT_OK = qw(fileset);
14 my ($filename, $search, $replace) = @_;
15 my $tmpname = "$filename.$$.tmp";
18 $replace = $search if @_ < 3;
20 open my $src, '<', $filename;
21 open my $dest, '>', $tmpname;
22 while (readline $src) {
25 if (ref $replace eq 'ARRAY') {
26 if (@$replace and $_ eq $replace->[0]) {
34 elsif (defined $replace and $_ eq $replace) {
45 if (defined $replace) {
46 for (ref $replace eq 'ARRAY' ? @$replace : $replace) {
54 rename $tmpname, $filename;
66 File::Rewrite - Append and/or strip lines from text files
70 use File::Rewrite 'fileset';
71 fileset('/tmp/somefile', qr/match/ => undef);
77 Mischa POSLAWSKY <perl@shiar.org>
81 Copyright. All rights reserved.