On Thu, 10 Jun 2010 09:17:23 +0200, Gerd Pokorra <g...@zimt.uni-siegen.de>
wrote:
#!/usr/bin/perl6
Q:PIR {
load_bytecode 'Digest/MD5.pbc'
.local pmc md5sum, md5_sum_get
md5sum = get_root_global ['parrot'; 'Digest'], '_md5sum'
$P0 = md5sum('foo')
md5_sum_get = get_root_global ['parrot'; 'Digest'], '_md5_hex'
$S0 = md5_sum_get($P0)
say $S0
}
Yay!! It works!
Here's my final (for now) version.
Feedback welcome.
I'm adding some test cases and putting this
up as perl6-digest-md5, possibly using ufo
if I get around to it.
#
# Digest::MD5 Perl6 module
#
class Digest::MD5 {
multi method md5_hex (Str $message) {
pir::load_bytecode('Digest/MD5.pbc');
my $md5_sum = Q:PIR {
load_bytecode 'Digest/MD5.pbc'
.local pmc md5sum, md5_sum_get
md5sum = get_root_global ['parrot'; 'Digest'], '_md5sum'
$P0 = find_lex '$message'
$P1 = md5sum($P0)
md5_sum_get = get_root_global ['parrot'; 'Digest'], '_md5_hex'
%r = md5_sum_get($P1)
};
return $md5_sum;
}
multi method md5_hex (@message) {
my Str $message = @message.join('');
return Digest::MD5.md5_hex($message);
}
}
--
Cosimo