Re: ÂÙÓÔÒÏ ÏÐÒÅÄÅÌÉÔØ ÐÏÚÉÃÉÀ ÜÌÅÍÅÎÔÁ × ÓÐÉÓËÅ

Greg Belenky greg на webzavod.ru
Чт Окт 9 07:35:29 CDT 2003


> как это можно сделать, не перебирая на сравнении весь список?
> или придется писать свою функцию, которая будет перебирать? ;)

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

примерно так:

use strict;

my @fruit = qw( яблоки апельсины бананы апельсины );

my %search = ();
push @{$search{$fruit[$_]}}, $_ foreach (0..$#fruit);

print join ', ', @{$search{'апельсины'}};

__END__



--
Григорий "Grishace" Беленький
http://search.cpan.org/author/GRISHACE/





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