On Friday 13 Dec 2002 10:42 am, christopher j bottaro wrote:
> hey,
> i wanna make a perl script that will convert those stupid "\r\n" dos
> newlines to good unix "\n" newlines...=)  the problem isn't really a perl
> problem, but a general programming problem that i've always kinda wondered
> about.
>
> so i guess what i'm gunna do is open the file, read in a line, search for
> "\r\n", if its there, replace it with just "\n", then write the new
> (edited) line to a new file.  my problem is this...if the file is 10 megs,
> then not only is the program gunna read a 10 meg file, but write one as
> well.  is there not a better way to do this?
>
> i can't really remove the "\r" in situ because as far as i understand, a
> file is just an array of bytes and if i remove the "\r", i'd have to shift
> everything else down one byte.
>
> thanks for the tips,
> -- christopher

The script below convers to/from DOS format depending on the name it's called 
by (I have unix2dos as a symlink to dos2unix).  It read STDIN and writes 
STDOUT.

$ cat `which dos2unix`
#!/usr/local/bin/perl -w
while (<STDIN>) {
  chomp;
  if ( $0=~m/dos2unix$/ ) {
    print "$_\n";
  } else {
    print "$_\r\n";
  }
}
$
-- 
Gary Stainburn
 
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to