use PerlIO::via::MD5; my ($string, $digest) = 'foobarbaz'; { open my $fh, '<:via(MD5)', \$string; $digest = <$fh>; }