use MIME::Base64 qw(encode_base64 decode_base64); #ENCODE open(INBIN, "<:bytes","in.ico") or die "$!"; open(OUTB64, ">esc.b64") or die "$!"; binmode(INBIN); while (read(INBIN, $buf, 60*57)) { print OUTB64 encode_base64($buf); } close (INBIN); close (OUTB64); #DECODE open(OUTBIN, ">:bytes","out.ico") or die "$!"; open(INB64, ") { print OUTBIN decode_base64($_); } close (OUTBIN); close (INB64);