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?
In reply to Re^3: regular expessions question: (replacing words)
by jwkrahn
in thread regular expessions question: (replacing words)
by $new_guy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |