s/$pattern/$replace/g
On Tue, 5 Mar 2002, Tor Hildrum wrote: > #!/usr/bin/perl -w > use strict; > use warnings; > > print "What file do you want to open?\n"; > chomp(my $openfile = <STDIN>); > print "What file do you want to write to?\n"; > chomp(my $outfile = <STDIN>); > print "What do you want to replace in the first file?\n"; > chomp(my $pattern = <STDIN>); > print "What do you want to replace it with?\n"; > chomp(my $replace = <STDIN>); > > open (INFILE, "$openfile") or die "Can't open $openfile: $!\n"; > open (OUTFILE, ">$outfile") or die "Can't open $outfile: $!\n"; > > while (<INFILE>) { > if ($_ =~ /$pattern/i) { > s/$pattern/$replace/; > print OUTFILE $_; } > else { > print OUTFILE $_; } > } > > The script is pretty self-explanatory. > The problem is that it is only replacing the first match on each line. > Is there a way to do this with regex? > I think I could do something like: while($_ =~ /$pattern/i) {replace the > lines}. But, I was wondering if this could be handled within my if-else > structure? > > -- > T. > > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]