Perl: 'in range' Befehl

Hallo,

gibt es eine Art „in range“ Befehl für Arrays in perl?

In Code ausgedrückt ist das, was ich suche etwa das hier, aber geht das auch direkt, ohne dass ich ein eigenes Codesegment verwenden muss - bzw wenn nicht, ist das was ich beschrieben habe, laufzeitmäßig optimal?

sub inRange ()
### parameter: $1 Quellwert, übrige @\_ Mögliche Zielwerte
{ my ($source,@target) = @\_;
 foreach my $targetValue (@target)
 { return 1 if ( $source eq $targetValue ) }
 return 0
}

Danke und Gruss,
Mike

Hallo Mike.

gibt es eine Art „in range“ Befehl für Arrays in perl?

sub inRange ()

parameter: $1 Quellwert, übrige @_ Mögliche Zielwerte

{ my ($source,@target) = @_;
foreach my $targetValue (@target)
{ return 1 if ( $source eq $targetValue ) }
return 0
}

Du suchst sicher den grep -Befehl, siehe http://www.hidemail.de/blog/grep-perl.shtml.

Gruß,
-Andreas.

Hallo Mike.
Du suchst sicher den grep -Befehl, siehe
http://www.hidemail.de/blog/grep-perl.shtml.

Hihi ja genau jetzt seh ich’s, danke :wink:

Du suchst sicher den grep -Befehl, siehe
http://www.hidemail.de/blog/grep-perl.shtml.

oder List::Util::first (List::Util ist ab 5.8 core-modul):

use List::Util qw(first);
my $element = first { $\_ == 23 } qw(0 23 42 43 44);

in $element steht dann 23