Subject: | Net::Cmd debug log drops empty lines |
If Net::Cmd traces data output containing a blank line (e.g. as used to
separate e-mail headers from body), the trace will omit it - leading to
confusion. This happens in real life with Net::SMTP (and others), but
I've reduced it to a small test program.
Test program:
#!/usr/bin/perl
use warnings; use strict;
package foo;
use Net::Cmd;
use IO::Socket::INET;
our @ISA = ( qw/Net::Cmd IO::Socket::INET/ );
my $c = foo->new( PeerHost => 'www.google.com:80' );
$c->debug(11);
$c->datasend( "a\n" );
$c->datasend( "\n" ); # Look for this in the output
$c->datasend( "c\n" );
Actual output:
Show quoted text
foo>>> foo
foo>>> Net::Cmd(3.10)
foo>>> Exporter(5.63)
foo>>> IO::Socket::INET(1.31)
foo>>> IO::Socket(1.31)
foo>>> IO::Handle(1.28)
foo=GLOB(0x83c1ef0)>>> a
foo=GLOB(0x83c1ef0)>>> c
Expected output (Missing line marked with ****)
Show quoted textfoo>>> foo
foo>>> Net::Cmd(3.10)
foo>>> Exporter(5.63)
foo>>> IO::Socket::INET(1.31)
foo>>> IO::Socket(1.31)
foo>>> IO::Handle(1.28)
foo=GLOB(0x83c1ef0)>>> a
foo=GLOB(0x83c1ef0)>>> ****
foo=GLOB(0x83c1ef0)>>> c