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

Mons Anderson mons на cpan.org
Сб Фев 2 07:09:52 PST 2013


если по тупому, то вот так:

sub mysort (&@) {
    no strict 'refs';
    my $cmp = shift;
    my @a = (shift @_);
    my $caller = caller;
    B:for ${ $caller.'::b' } (@_) {
        for my $x (0..$#a) {
            local ${ $caller.'::a' } = $a[$x];
            my $cm = $cmp->();
            next if $cm == -1;
            splice @a,$x,0,${ $caller.'::b' };
            next B;
        }
        push @a,${ $caller.'::b' };
    }
    return @a;
}



2013/2/2 Ivan Petrov <i.petro.77.00 на gmail.com>

> в том смысле чтобы при использовании strict итп функция сортировки
> оперировала переменными $a и $b?
>
> sub my_sort(&@) {
>     my ($cb, @ary) = @_;
>     ...
> }
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Best wishes,
Vladimir V. Perepelitsa aka Mons Anderson
<inthrax на gmail.com>, <mons на cpan.org>
http://github.com/Mons
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20130202/516405e3/attachment.html>


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