Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

binmode binmoding binmode again

by PodMaster (Abbot)
on Apr 28, 2004 at 21:21 UTC ( #348962=note: print w/replies, xml ) Need Help??


in reply to Problem Encoding/Decoding PDF with MIME::Base64

Practically everytime I've seen someone release a module with a slurp function it has always lacked binmode (at first), and IO::All is no different. Know thy tools

update: granted you could use open IN => ":raw", OUT => ":raw"; to set default disciplines for input and output, but a good slurp function should binmode.

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re: binmode binmoding binmode again
by DamnDirtyApe (Curate) on Apr 28, 2004 at 21:35 UTC

    Thanks PodMaster, that was it precisely. I rewrote the programs as follows:

    encode_base64.pl:

    #! /usr/bin/perl use strict; use MIME::Base64 qw( encode_base64 ); open INFILE, '<', $ARGV[0]; binmode INFILE; open OUTFILE, '>', $ARGV[1]; my $buf; while ( read( INFILE, $buf, 60 * 57 ) ) { print OUTFILE encode_base64( $buf ); } close OUTFILE; close INFILE; __END__

    decode_base64.pl:

    #! /usr/bin/perl use strict; use MIME::Base64 qw( decode_base64 ); open INFILE, '<', $ARGV[0]; open OUTFILE, '>', $ARGV[1]; binmode OUTFILE; my $buf; while ( $buf = <INFILE> ) { print OUTFILE decode_base64( $buf ); } close OUTFILE; close INFILE; __END__

    The PDF decoded correctly this time. Thanks!


    _______________
    DamnDirtyApe
    Those who know that they are profound strive for clarity. Those who
    would like to seem profound to the crowd strive for obscurity.
                --Friedrich Nietzsche

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://348962]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (1)
As of 2021-12-04 07:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    R or B?



    Results (30 votes). Check out past polls.

    Notices?