Список ::Сетка MoreUtils или функция 'zip'

Итак, этот вопрос предназначен исключительно для учебных целей и любопытства, но может ли кто-нибудь объяснить, как работает функция ниже?

sub mesh (\@\@;\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@) {
    my $max = -1;
    $max < $#$_ && ( $max = $#$_ ) foreach @_;
    map {
        my $ix = $_;
        map $_->[$ix], @_;
    } 0.. $max;
}

Это из модуля List ::MoreUtils . Я использую его в одном из своих приложений, и мне довелось увидеть исходный код, и это заставило меня почувствовать, что я вообще не знаю perl! Кто-нибудь может объяснить это безумие? :)Спасибо!

12
задан srchulo 13 July 2012 в 16:38
поделиться