Forum: PC-Programmierung [perl] array of hashes und foreach


von perl ist doof (Gast)


Lesenswert?

Hallo,

ich werde gerade wahnsinnig. :-/
1
my @arr;
2
3
push (@arr, {"aa"=>1, "bb"=>2, "cc"=>3});
4
push (@arr, {"aa"=>11, "bb"=>22, "cc"=>33});
5
push (@arr, {"aa"=>111, "bb"=>222, "cc"=>3333});
6
7
#ok
8
print $arr[0]{"aa"};
9
10
#ok
11
foreach (0..$#arr)
12
{
13
  print $arr[$_]{"aa"},"\n";
14
}
15
16
#fehler
17
foreach (@arr)
18
{
19
  print $_{"aa"},"\n";
20
}
Wie muss die letzte print-Anweisung richtig lauten? Ich hab schon zig 
Varianten probiert mit {} und () aber nichts geht.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi
1
print $_->{"aa"},"\n";

Matthias

von perl ist doof (Gast)


Lesenswert?

Danke! Schnelle Hilfe, so kenne ich das Forum. :-)

Da soll nochmal jemand sagen C wäre schwer und obfuscated und so...
1
$id=~s/%([[:xdigit:]]{2})/chr(hex($1))/ge;
2
$info{(split(/=/))[0]}=(split(/=/))[1] foreach (split(/&/, $id));
 waaahhh!

von perl ist doof (Gast)


Lesenswert?

Noch eine Frage:

Wenn ich in C auf einen Tastendruck warten will (egal welche Taste!!) 
nehme ich conio.h/getch(). Was nimmt man in perl? Google findet da nur 
so kompliziertes Zeugs was alles nicht funktioniert (unter Windows), man 
muss immer Enter drücken.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

evtl. hilft http://www.xav.com/perl/site/lib/Win32/Console.html
Hab ich aber noch nie benutzt.

Matthias

von Peter II (Gast)


Lesenswert?


von Tom M. (tomm) Benutzerseite


Lesenswert?

man nimmt Term::ReadKey; zumindest ReadKey(-1) sollte auf allen halbwegs 
gängigen Plattformen funktionieren. RTFM. :)

von perl ist doof (Gast)


Lesenswert?

Peter II schrieb:
> http://search.cpan.org/dist/TermReadKey/ReadKey.pm
Danke.
1
ReadMode 4;
2
$key=ReadKey(0);
3
ReadMode 0;
scheint das zu tun was ich will.

> RTFM. :)
Da hast du wohl Recht, man muss das "M" nur erstmal finden...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.