You probably should have started a new thread for this discussion.
> I'm trying to write a script that reads a file line by line and if the
line
> contains a space it puts quotation marks around it and writes it to
another
> file. I mostly have this working except that in the case of the lines
that
> contain the space it puts the quotation mark at the beginning of the next
> line. My guess is that
> print OUTFILE ($line);
> also feeds a CR. Is there a way around this?
My guess is that the last character of $line is a newline character.
I have cleaned up indentation on your code so that it is readable, and sure
enough, you are pulling a line from INFILE and placing it in $line, and so
it still has the newline on the end.
perldoc -f chomp
unless (open(INFILE, "accounts.txt")) {
die ("Cannot open input file accounts.txt.\n");
}
unless (open(OUTFILE, ">nospace.txt")) {
die ("Cannot open output file nospace.txt.\n");
}
$line = <INFILE>;
while ($line ne "") {
if ($line =~ / +/) {
print OUTFILE ('"');
print OUTFILE ($line);
print OUTFILE ('"');
# instead of the above three lines I would use: print OUTFILE ("\"$line\"");
# or: print OUTFILE ('"'.$line.'"');
# depending on what you think is clearest
}
else {
print OUTFILE ($line);
}
$line = <INFILE>;
}
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]