Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: Remove new line characters from PCL file

by Anonymous Monk
on Jan 16, 2009 at 17:18 UTC ( #736884=note: print w/ replies, xml ) Need Help??


in reply to Re: Remove new line characters from PCL file
in thread Remove new line characters from PCL file

Hi thanks for response.

The thing is that when i open the '.dat' file and assigning it to the variable the new line character has already been evaluated and applied to the format so what i am looking for is that the script takes the line literally and not apply the new line character.

I would then be carrying out a tr// on the already changed file which would not give me the desired results, which is basically to have a mirror image of the imput file with a couple of word changes.


Comment on Re^2: Remove new line characters from PCL file
Re^3: Remove new line characters from PCL file
by andye (Curate) on Jan 16, 2009 at 17:31 UTC
    what i am looking for is that the script takes the line literally and not apply the new line character

    Perhaps it's just me, but I don't understand what you mean there - you want Perl to 'take the line literally'? (rather than taking it figuratively or metaphorically?)

    Could you re-phrase this, it's not clear (to me at least) why just taking out the newline characters with tr/// won't give you the result you want.

    update: re-reading the original question, it looks like its the concept of 'new line characters in the middle of a line' which is proving slippery. Not to sound pedantic, but I've never seen a newline character in the middle of a line. They tend to be at the end of each line.

    Do you mean that some of the newlines are ones you want to keep, and some of them are unwanted?

    How do you tell apart the ones you want versus the ones you don't want? Maybe if you were to show us a sample of the file, we'd be able to help you better.

    Or is this a UNIX-versus-DOS different-newline-characters issue?

    update2: or do you mean that some of the newline characters are (or should be) escaped?

Re^3: Remove new line characters from PCL file
by ikegami (Pope) on Jan 16, 2009 at 17:31 UTC

    Aside from being the default value for $/ (the end of line marker when reading), line feeds aren't special to Perl. Perl doesn't apply any formatting (contrary to what you claim).

    maybe using the ':raw' command would that work?

    That would prevent CR+LF from being transformed to LF when reading in Windows. You can use it as follows:

    binmode($FILE);
Re^3: Remove new line characters from PCL file
by oshalla (Deacon) on Jan 16, 2009 at 18:17 UTC

    I'm guessing here... I'm guessing that this is a Win32 issue, and the '.dat' file is binary, not text...

    ...in which case the problem could be: by default Perl, when reading by <$FILE> will replace CRLF pairs by LF -- irrespective of the state of $/.   print will do the inverse on output.

    To avoid this you can: open $FILE, '<:raw', ... ; or open $FILE, '<', ... ; binmode($FILE) ; , for input and similarly for output. (See binmode and open.) Or you can use read (read), or for deeper magic, sysread (sysread).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://736884]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2014-12-22 13:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (117 votes), past polls