Guan boon lee wrote: > > I would like to find a word or character in a file and > replace it with another word or character, while > leaving others untouched. Currently, I am using the > following method > > #!/bin/perl -Dr -w > open(FILE,"$ARGV[0]") || die "Can't open $ARGV[0]: > $!\n"; > open(FILE2,">$ARGV[0].spi") || die "Can't open > $ARGV[0]_new: $!\n"; > while (<FILE>) > { > if (/(^VV\d+ )(TA)x(\d)x(.*)/) > { > print FILE2 $1,,$2,"[",$3,"]",$4,"\n"; > } > else > { > print FILE2 $_; > } > } > close FILE; > close FILE2;
Here is one way to do it. #!/usr/bin/perl -w use strict; my $file = shift || die "Usage: $0 filename"; rename $file, "$file.back" or die "Cannot rename $file: $!"; open IN, "$file.back" or die "Cannot open $file.back: $!"; open OUT, "> $file" or die "Cannot open $file: $!"; while ( <IN> ) { s/^(VV\d+ TA)x(\d)x/$1[$2]/; print OUT; } close OUT; close IN; __END__ John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]