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?
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|