man sollte auch bedenken, dass das element mehrfach oder gar nicht vorkommen kann. als fan von map und grep würde ich folgendermassen lösen:
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
29
30
31
32
use strict;
use warnings;
my @array = qw/eins zwei drei vier fuenf zwei/;
my $search = "zwei";
my @index = grep { $array[$_] eq $search ? 1 : 0 } 0 .. $#array;
my %index;
push @{ $index{$array[$_]} }, $_ for 0 .. $#array;
print "loesung mit array:\n";
print "==================\n";
if ( @index ) {
print "der string $search befindet sich and den stellen: ";
print join ", ", @index;
print "\n";
}
else {
print "$search wurde nicht gefunden.\n";
}
print "loesung mit hash:\n";
print "=================\n";
if ( exists $index{$search} ) {
print "der string $search befindet sich and den stellen: ";
print join ", ", @{ $index{$search} };
print "\n";
}
else {
print "$search wurde nicht gefunden.\n";
}
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B