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?