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]

Reply via email to