From: John on
Ben Bullock <benkasminbullock(a)gmail.com> wrote:

>On Wed, 23 Apr 2008 14:31:18 +0300, John wrote:
>
>> Why is this happening? I've chomped and ~s'd the $line. I've also
>> binmoded both file handles for good measure.
>
>I rewrote your code as follows and didn't get the error you mention on
>either Ubuntu Linux or Windows or Cygwin:
>
>#!/usr/bin/perl
>use warnings;
>use strict;
>open(MYHAN,"<", "testcrs.pl") or die $!;
>open(MYHAN2,">", "receive.txt") or die $!;
>binmode(MYHAN);
>binmode(MYHAN2);
>while (my $line=<MYHAN>)
> {
> chomp($line);
> $line=~s/\x0d//g; # probably unnecessary
> $line=~s/\x0a//g;
> print MYHAN2 $line." testing R\x0dS\x0aT";
> }
>close MYHAN;
>close MYHAN2;
>
>Note that the "binmode" is essential here - without that what you
>describe is the expected behaviour on Windows. The most likely cause of
>the problem is that "open (MYHAN2" ... actually failed and you were
>looking at an old version of the file before you'd used the "binmode"
>statement, or perhaps you didn't scroll down far enough (since originally
>it was appending to receive.txt rather than overwriting it).



I copied you example and still get the problem. The receive.txt looks like below
#!/usr/bin/perl testing R
S
Tuse warnings; testing R
S
Tuse strict; testing R
S
T testing R
S
Tprint "Content-Type: text/html; charset=iso-8859-1\n\n"; testing R
S
.....

I added some html lines:

#!/usr/bin/perl
use warnings;
use strict;

print "Content-Type: text/html; charset=iso-8859-1\n\n";
print '<html>';
print '<head>';
print '<title>Hello</title>';
print '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';
print '</head>';


open(MYHAN,"<", "testcrs.pl") or die $!;
open(MYHAN2,">", "receive.txt") or die $!;
binmode(MYHAN);
binmode(MYHAN2);
while (my $line=<MYHAN>)
{
chomp($line);
$line=~s/\x0d//g; # probably unnecessary
$line=~s/\x0a//g;
print MYHAN2 $line." testing R\x0dS\x0aT";
}
close MYHAN;
close MYHAN2;

print '</html>';
From: Ben Bullock on
On Wed, 23 Apr 2008 15:35:47 +0300, John wrote:

> I copied you example and still get the problem.

It's probably an error elsewhere, not in Perl.
From: John on
Ben Bullock <benkasminbullock(a)gmail.com> wrote:

>On Wed, 23 Apr 2008 15:35:47 +0300, John wrote:
>
>> I copied you example and still get the problem.
>
>It's probably an error elsewhere, not in Perl.

You are right! My bad. Wasted hours on this. The problem was that when I
downloaded the file the ftp client program was set to "Auto" and it added the
extra CR's. When I set it to "Binary" the files came down OK.

Thanks for the help!
From: J. Gleixner on
John wrote:

> I copied you example and still get the problem. The receive.txt looks like below
[...]
> I added some html lines:

Yeah, that's usually the first step in debugging any program.

1. Always add HTML. That'll fix 99% of your coding errors.

:-)
From: Chris Mattern on
On 2008-04-24, J. Gleixner <glex_no-spam(a)qwest-spam-no.invalid> wrote:
> John wrote:
>
>> I copied you example and still get the problem. The receive.txt looks like below
> [...]
>> I added some html lines:
>
> Yeah, that's usually the first step in debugging any program.
>
> 1. Always add HTML. That'll fix 99% of your coding errors.
>
>:-)

That's ridiculous. You have to add XML. XML solves *everything*.


--
Christopher Mattern

NOTICE
Thank you for noticing this new notice
Your noticing it has been noted
And will be reported to the authorities