use MIME::Base64; use strict; use warnings; my $upload_dir = 'uploaded_files'; my $file = 'image.jpg'; my $base64_a = ''; ### Open the image to convert to base64 open (IMAGE, "$upload_dir/$file") or die "$!"; binmode IMAGE; my $binary = do{ local $/ = undef; ; }; binmode $binary; $base64_a = encode_base64($binary); my $base64 = encode_base64(pack('B*', $binary)); print "base64 = $base64\n";