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