- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #3482 [502] От : Andrei Baranov 2:5020/400 06 мая 04, 14:32 Кому : Rostislav Chebykin 06 мая 04, 20:42 Тема : Re: Проверка на вхождение в массив ------------------------------------------------------------------------------- From: Andrei BaranovRostislav Chebykin wrote: > Hужно проверить, входит ли этот скаляр в этот массив. > > Я делаю это следующим образом: > > if ("@words" =~ /\b$secret\b/) { > ... что-то делать ... > } > > Хорошо ли такое решение? Или в Perl принято как-то по-другому? Однократный поиск - grep Многократный - с помошью хешей. > И еще - несколько стратегических вопросов. Может быть, массив тут вовсе не > нужен... > > Исходная задача состоит в следующем. Есть некий параметр, и есть список > допустимых значений этого параметра. Программа должна проверять, входит ли > некое значение в этот список. > Массив здесь не совсем подходит с логической точки зрения, так как порядок > следования языков не имеет значения. То есть с логической точки зрения > ("en", "ru", "fr", ... ) и ("ru", "fr", "en", ... ) - это одно и то же. > > Я еще думал в сторону хэшей, но тогда придется делать хэш с одними ключами, > без значений. А это какое-то извращение. Именно так. При большом желании можешь покопать дополнительные модули, типа Set::Array. --- ifmail v.2.15dev5.3 * Origin: Zond (2:5020/400)