[perl] быстрое сравнение массивов

stm7583298

Думаю над субжем. Додумался вот до такого:

my($stor, $check)=@_;
my $right = join '', sort @$check;
foreach(@$stor) { if($_) {
my $left = join '', @$_;
if($left eq $right) { return 0;} }}
return 1;

Работает достаточно сносно, но сдается мне, что это не предел скорости. Не слишком мне эти джойны нравятся Но если их нахрен выкинуть, и написать

my @right = sort @$check;
if(@right eq @$_) { }

то почему-то не работает, хотя обыхные массивы с таким синтаксом сравнивает на ура.
В связи с этим вопрос - как это все дело ускорить?

rosali

А что для программирования на перле думать уметь не надо? Вообще то гениальный алгоритм с join-ами считает массивы ("ab","c") и ("a","bc") равными.

stm7583298

алгоритм с join-ами считает массивы ("ab","c") и ("a","bc") равными
Вообще-то мне пофиг, я точно знаю, что элемент массива - один символ.
Оставить комментарий
Имя или ник:
Комментарий: