http://qs321.pair.com?node_id=360531

sub schememap(&@) { my $funcptr = shift; for my $i (0..(scalar(@{$_[0]}) - 1)) { &$funcptr (map { $_->[$i] } @_); } }