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

Ivan Petrov i.petro.77.00 на gmail.com
Сб Фев 2 13:10:55 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;
> }

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

если по разным модулям раскидать. собственно в этом и весь вопрос.



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