sub hmap (&%) { my $code = shift; my @i = @_; my @rv; push @rv, $code->(shift @i,shift @i) while @i; @rv; }