[Moscow.pm] А как написать свой sort?

Ivan Petrov i.petro.77.00 на gmail.com
Сб Фев 2 13:18:02 PST 2013


> Всмысле?

> use strict;
> use warnings;
> sub foo { $b <=> $a }
> print sort foo 1..10;

в смысле меня не использование функции интересует а ее написание. так
чтобы strict не ругался.

sub mysort(&@) {
    my ($cb, @args) = @_;

    ... 
        # тут я хочу вызвать $cb->() так чтобы внутри нее юзер 
        # мог оперировать $a и $b без проблем на стадии компиляции
}

то что Монс предложил (и я это пробовал ДО того как задал вопрос в
рассылку) у меня дает такой варнинг

Name "main::b" used only once: possible typo at test.pl line 11.
Name "main::a" used only once: possible typo at test.pl line 11.

при попытке вызвать

mysort { $a <=> $b } 1, 2, 3;


Подробная информация о списке рассылки Moscow-pm