- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #3086 [502] От : Serge Chervjakov 2:5020/400 01 апреля 04, 07:38 Кому : Anton Dvoryasin 02 апреля 04, 00:48 Тема : бьюсь-бьюсь.. ------------------------------------------------------------------------------- From: "Serge Chervjakov"Wed Mar 31 2004 22:47, Anton Dvoryasin wrote to All: AD> До После AD> qwer_ty.ui qwer_ty.ui AD> qwer_ty.ui asd.f.g AD> qwer_ty.ui zx.c AD> asd.f.g AD> asd.f.g AD> zx.c AD> Пробывал сам, но самое лучшее что получилось - преобразовывать как надо AD> двойные, из тройных оставалось только два, а одинарные убивались :) AD> Hатолкните т.с. Эх, алгоритмы, алгоритмы:). Как хорошо что я на них не хожу:). my %hash; foreach my $fname(@fnames) { $hash{$fname}=1; } print join("\n",keys(%hash)); или (лень щас запускать перл для проверки) что-то вроде такого (смысл надеюсь будет ясен): @hash{@fnames}=(1..scalar(@fnames)); Привер понятен?:) А вот если еще и порядок надо будет сохранить... ну в общем есть по-мойму Tie::Hash (никогда не использовал, потому может название уже и забыл), но можно просто устроить второй проход по ключам массиву тому изначальному, и во-второй массив запихивать только то, где хеш на этот ключ имеет значение 1, а при этом на каждый очередной элемент изначального массива устанавливать 0 в хеше по этому ключу (млин - проще сказать не получается - проще только код:) ). --- ifmail v.2.15dev5.3 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)