use MIME::Base64; open my $fh, '<', 'file' or die $!; binmode $fh; my( $bytes, $data ); do { $bytes = read $fh, my $buf, 1000; die $! unless defined $bytes; $data .= $buf; } while $bytes != 0; close $fh; print encode_base64($data, ''); #### open my $fh, '<', 'file' or die $!; binmode $fh; local $/ = undef; print encode_base64(<$fh>, '');