Schrift
[thread]8776[/thread]

Hash Ausgabe



<< >> 7 Einträge, 1 Seite
ASDS
 2007-02-21 11:33
#74464 #74464
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Hallo ihr,

ich hab folgenden Code:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
%Mittelamerkika = {
Argentinien => {
land => "Argentinien",
orte => [

{Bezeichnung => "Buenos Aires", Anmerkung => "Hauptstadt", Einwohnerzahl => 1200000, },

{Bezeichnung => "Cordoba", Anmerkung => "älteste Universität", Einwohnerzahl => 1400000, },

{Bezeichnung => "Rosario", Anmerkung => "wichter Hafen des Landes", Einwohnerzahl =>1200000, },

{Bezeichnung => "Medoza ", Anmerkung => "Wein- und Obstbau", Einwohnerzahl => 900000, },

],
},
Brasilien => {
land => "Brasilien",
orte => [

{Bezeichnung => "Brasilia", Anmerkung => "Hauptstadt", Einwohnerzahl => 200000, },

{Bezeichnung => "Rio de Janeiro", Anmerkung => "zweitgröße Stadt", Einwohnerzahl => 11719708 , },

{Bezeichnung => "Sao Paulo", Anmerkung => "Wirschafts- Finanz und Kulturzentrum", Einwohnerzahl => 11017000, },

]
},
Chile => {
land => "Chile ",
orte => [


{Bezeichnung => "Santiago de Chile", Anmerkung => "Hauptstadt", Einwohnerzahl => 4656690 , },

{Bezeichnung => "Valparaiso", Anmerkung => "Hafenstadt", Einwohnerzahl => 905300 , },

{Bezeichnung => "Bonaire", Anmerkung => "keinde Idee", Einwohnerzahl => 15000 , },

]
}


};
my $MP = 0;
foreach $MP (sort keys %Mittelamerika){
print "$MP : $Mittelamerika {$MP} info\n";
}


und würd das eben ganz gerne ausgeben... aber irgendwie tut er nix. hab ich was vergessen?
pktm
 2007-02-21 11:44
#74465 #74465
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Was genau gibt er denn nicht aus?
DU versuchtst komplexe Datenstrukturen mit print auszugeben. Das klappt so nicht. DU kannst Data::Dumper verwenden oder musst dir von Hand noch jeweils Schleifen bauen die die komplexen Datenstrukturen ausgeben.
Berwende dazu unbedingt use strict; und use warnings; da die das eine Menge Arbeit erspart. Diese hätten dich übrigens auch auf dieses Problem aufmerksam gemacht ;)

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Relais
 2007-02-21 11:55
#74466 #74466
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hmm, also, der Hash hat flasche Namen, die Länder und Orte befinden sich in Süd- und nicht Mittelamerika. Wikipedia:Mendoza schreibt sich mit einem -n- :)
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
ASDS
 2007-02-21 11:56
#74467 #74467
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Ich dachte eigentlich, dass ich das mit der foreach schleife schon erledigt hätte.
Hm.. dann grübel ich halt noch.
ASDS
 2007-02-21 11:58
#74468 #74468
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
[quote=Relais,21.02.2007, 10:55]Hmm, also, der Hash hat flasche Namen, die Länder und Orte befinden sich in Süd- und nicht Mittelamerika. Wikipedia:Mendoza schreibt sich mit einem -n- :)[/quote]
*g* ich habe vorher auch komplett amerika oben auf gehabt... hab das dann schnell umgemodelt... der INHALT is ja noch wurscht, könnt euch nur lalalalala oder sowas schreiben.
ich grübel grad wie ich schleifen bauen kann um den hash auszugeben.
Taulmarill
 2007-02-21 12:24
#74469 #74469
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
also, erst einmal use strict; use warnings; das hätte dich schon bei einigen sachen auf die richtige Spur gebracht, denn bei dem obersten Hash ist im namen ein -k- zu viel. Bei der Ausgabe musst du außerdem das Leerzeichen zwischen Variablenname und {} weglassen, sonst erkennt perl nicht, dass das zusammen gehört.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
styx-cc
 2007-02-21 13:20
#74470 #74470
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hi, an die Werte kommst du u.a. so:
Code: (dl )
1
2
3
4
5
6
for my $MP (sort keys %Mittelamerika){
print "Land: $MP\n";
print "Infos:\n";
print "$Mittelamerika{$MP}{'land'} Capital:", $Mittelamerika{$MP}{'orte'}[0]{'Bezeichnung'} ,"\n";
print "$Mittelamerika{$MP}{'land'} Additional info:", $Mittelamerika{$MP}{'orte'}[0]{'Anmerkung'} ,"\n";
}


Bin mir zwar fast sicher das es auch einfacher geht, aber da kannste ja mal googlen oder so =)

MfG\n\n

<!--EDIT|styx-cc|1172056865-->
Pörl.
<< >> 7 Einträge, 1 Seite



View all threads created 2007-02-21 11:33.