Ramprasad A Padmanabhan wrote:
>
> I had written a small script for my own use which gets rid of \r and
> also all weird chars inserted by dos ( or windoze ) in plain text files
> Do not use it on files which are not plain text
>
> #!/usr/bin/perl
> #
> # This file is used to clean the special chars && ^M chars from dosfiles
> #
> #
> open(IN,$ARGV[0]) || die "Could not open file $ARGV[0] $! ";
> while(defined($c = getc(IN))){
> next if((($i =ord($c)) > 126) || ($i == 13 ));
> $content .= $c;
Reading a character at a time is very inefficient.
> }
> close IN;
> open(OUT,">$ARGV[0]") || die "Could not open file $ARGV[0] $! ";
Closing and opening the file again is inefficient.
> print OUT $content;
> close OUT;
> print STDERR " $ARGV[0] cleaned \n";
#!/usr/bin/perl -w
use strict;
#
# This file is used to clean the special chars && ^M chars from dosfiles
#
#
open IN, "+<$ARGV[0]" or die "Could not open file $ARGV[0] $!";
read IN, $_, -s IN;
tr/\x0D\x7F-\xFF//d;
seek IN, 0, 0;
truncate IN, 0;
print IN;
close IN;
print STDERR " $ARGV[0] cleaned \n";
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]