in reply to Re: Re: Re: (crazyinsomniac)Re: Any way to binmode
in thread Any way to binmode <>

It does indeed work, its your shell that is translating the newlines. Try redirecting to a file.

update i'm wrong, i aplogize, but you can always:

while(<>) { binmode ARGV; seek ARGV,0,0; local $/ $_=<>; }
UPDATE: well i was almost there, this is kind of stupid, but it'll work as you want it to;
while(<>) { close ARGV; open ARGV, $ARGV or die $!.' '.$ARGV; binmode ARGV; binmode ARGV; local $/; print $_=<>; close BINMODE; }

 
___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void

perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"

Replies are listed 'Best First'.
Re5: (crazyinsomniac)Re: Any way to binmode
by bikeNomad (Priest) on Aug 02, 2001 at 20:13 UTC
    How could my shell get the newlines? Look more closely... I used Data::Dumper so I could display the control characters in the output and so not be subject to output character translation. There's no difference in the output when I redirect to a file. Note that there is no output past the control-Z. If you're trying the script yourself, make sure to binmode STDOUT so that you don't turn "\n" back into "\r\n". And try a file with a control-Z in it.