sub BASE64_ENCODE { my $daten = shift; return '' unless $daten; use integer; my $out = join '', map( pack('u',$_)=~ /^.(\S*)/, ($daten =~/(.{1,45})/gs)); $out =~ tr|` -_|AA-Za-z0-9+/|; my $padding = (3 - length($daten) % 3) % 3; $out =~ s/.{$padding}$/'=' x $padding/e if $padding; $out =~ s/(.{1,76})/$1\n/g; $out; }