Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Аналог in_array


Автор: TwiSteR 6.2.2006, 15:49
Приветствую уважаемые !
Подскажите плиз аналог субжевой функции из пхп

Вот пример пхп
Код

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}


Автор: DEER 6.2.2006, 15:58
по моему можно так
Код

 my @arr = qw("Mac", "NT", "Irix", "Linux");
 if(map /^Irix?/, @arr)
   print  "Got Irix";


Автор: TwiSteR 6.2.2006, 17:30
Неа, пробую так
Код

sub in_array {
    my ($w,@arr) = @_;

    if(map /^$w?/, @arr)
    {
      print  "Got Irix"."\n";

    } else {

      print  "No Irix"."\n";
    }
}

my @arr = (1,2,3);
&in_array(4,@arr);


Даёт Got Irix.

Автор: sharq 6.2.2006, 18:28
TwiSteR для таких целей есть grep.
Код

my @array = ("Mac", "NT", "Irix", "Linux");
print "Got Irix\n" if grep {/^Irix$/} @array;


smile

Автор: TwiSteR 6.2.2006, 20:23
sharq Спасибо !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)