Author Archive

May
28

Base64 Encoding and Decoding

Posted by: celso | Comments (0)

At one time, I needed to encode and decode strings in Base64 but I was on a very old Perl version that does not include the MIME::Base64 core module, nor am I able to install the said module. So, here’s the source for encoding and decoding Base64 ripped from the MIME::Base64 module:

sub EncodeBase64
{
    my $s = shift ;
    my $r = '';
    while( $s =~ /(.{1,45})/gs ){
        chop( $r .= substr(pack("u",$1),1) );
    }
    my $pad=(3-length($s)%3)%3;
    $r =~ tr|` -_|AA-Za-z0-9+/|;
    $r=~s/.{$pad}$/"="x$pad/e if $pad;
    $r=~s/(.{1,72})/$1\n/g;
    $r;
} 

sub DecodeBase64
{
    my $d = shift;
    $d =~ tr!A-Za-z0-9+/!!cd;
    $d =~ s/=+$//;
    $d =~ tr!A-Za-z0-9+/! -_!;
    my $r = '';
    while( $d =~ /(.{1,60})/gs ){
        my $len = chr(32 + length($1)*3/4);
        $r .= unpack("u", $len . $1 );
    }
    $r;
}
Categories : Perl
Comments (0)
May
25

Skydiving video

Posted by: celso | Comments (0)

Look what I did last weekend! I went for a tandem skydive at Pepperell, MA on May 24th, 2009. What a rush; it was an awesome experience!

See full post to see the movie.
Read More→

Categories : General
Comments (0)