Ja, ganz nette Aufgabe.
Das -W hat übrigens eine andere Bedeutung als das kleine -w, falls das ein Vertipper ist. Und das & brauchst du da auch nicht vor den Aufruf der Sub zu schreiben.
Meins sieht jetzt so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl
use strict;
use warnings;
my @namen = qw(Fred Dino Sascha Julia Drache Amin);
my $name = "Drache";
my $ergebnis = welches_element_ist($name, @namen);
$ergebnis+=1;
print "$name ist das $ergebnis-te Element in der Liste.\n";
# -------------------------------------------------------------------
# -- SUBS
# -------------------------------------------------------------------
sub welches_element_ist {
my ( $was , @array ) = @_; #das @_ kommt aus der Sub
foreach( 0 .. $#array ) {
if( $was eq $array[$_] ) { # das $_ kommt aus der Schleife
return $_;
}
}
return -1;
} # /welches_element_ist