Forum Webscript.Ru

Программирование => Perl => Тема начата: Ardzhan от 31 Марта 2005, 11:52:07

Название: Уникальные элементы массива
Отправлено: Ardzhan от 31 Марта 2005, 11:52:07
Возникла задача удалить повторы элементов в массиве.

Например:
@testarray=(\'test\', \'test2\', \'test\');
нужно удалить повтор
@testarray=(\'test\', \'test2\');
Название: Уникальные элементы массива
Отправлено: ondr от 31 Марта 2005, 12:30:45
http://forums.webscript.ru/showthread.php?s=&threadid=17454
Название: Уникальные элементы массива
Отправлено: Ivan Kolesnikov от 31 Марта 2005, 12:34:51
Я бы сделал вот так:

@testarray=(\'test\', \'test2\', \'test\');
foreach (@testarray) {
  unless (exists $h{$_}) {
    $h{$_}=1;
    push @resarray, $_;
  };
};
print join \', \', @resarray;
Название: Уникальные элементы массива
Отправлено: Ardzhan от 31 Марта 2005, 12:55:52
спасибо большое, все работает