Thread Index eines bestimmten Array-Elements: index(@array, $array_element) (7 answers)
Opened by pearl-man at 2006-02-09 14:47

Taulmarill
 2006-02-09 15:32
#62787 #62787
User since
2004-02-19
1750 articles
BenutzerIn

user image
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:
Code: (dl )
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

View full thread Index eines bestimmten Array-Elements: index(@array, $array_element)