in reply to Re^2: regular expessions question: (replacing words)
in thread regular expessions question: (replacing words)
my $FILENAME4 = "organized.txt"; open(DATA2, $FILENAME4);
You should always verify that the file opened correctly.
my $FILENAME4 = "organized.txt"; open DATA2, '<', $FILENAME4 or die "Cannot open '$FILENAME4' $!";
#remove all previous re-organized files my $remove_reorganized = "re-organized.txt"; if (unlink($remove_reorganized) == 1) { print "Existing \"re-organized.txt\" file was +removed\n"; } #now make a file for the ouput my $outputfile = "re-organized.txt"; if (! open(POS, ">>$outputfile") ) { print "Cannot open file \"$outputfile\" to write to!!\n\n" +; exit; }
If you open the file for output instead of append then you don't have to delete the file first as that is a side effect when you open for output.
# make a file for the ouput my $outputfile = "re-organized.txt"; open POS, '>', $outputfile or die "Cannot open file '$outputfile' to w +rite to because: $!";
$organized =~ s/(\w+)[^(^\d+)(\s)]/z/g;
You are using a regular expression that says: match one or more word characters followed by a single character that is not the character '(' or '^' or any digit or '+' or ')' or any whitespace, which does not make sense. It could be that you do not understand how character classes work?
|
|---|