ein array in einer if deklaration durch gehn ?

LrIuNlUzX

Mitglied
hi,
ich möchte in der deklaration einer if anweisung ein array mit einem skalar vergleichen.
d.h. ich habe in einem skalar ein wert, den ich mit jedem feld des array's vergleichen möchte ... stimmt einer überein. dann soll der inhalt des if-blocks ausgeführt werden.

kann mir dabei vieleicht jemand weiterhelfen?

danke im voraus.
 
Hi!

Kenne da nur zwei Varianten:
my $scalar = 5;
my @array = (1,3,5,8);

1)Vorherige Abfrage-Schleife:
my $found;
foreach (@array) {
$found = 1 if ($_ == $scalar);
}
if ($found) {
...

2)Über einen Hash:
my %hash;
foreach (@array)
$hash{$_} = 1;
}
if ($hash{$found}) {
...

...sieht nicht besonders elegant aus, aber habe bisher keine Alternative gefunden...
 
danke,


if (grep($_ == $scalar,@array)) {
das geht so nicht wirklich... bei mir macht der das immer...

aber, so:
if (grep($scalar,@array)) {

gehts!

du hast mich auf die idee gebracht...

fetten dank !;-)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück