Thread geht das auch kürzer?: Schleife->hashref in arrayref (3 answers)
Opened by pktm at 2004-01-04 01:16

pktm
 2004-01-04 01:16
#78008 #78008
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich arbeite mit dem Modul HTML::Template.
Dem Objekt da muss man für eine bestimmte Aufgabe eine Hashreferenz in einer Arrayreferenz übergeben.
Diese stelle ich mir in einer While-Schleibe zusammen, in der ich die Werte für die Hashes usw. bekomme.
Code: (dl )
1
2
3
4
5
6
        while ( my ($id, $keyword, $titel, $unterseiten) = $sth->fetchrow_array() ) {
#print STDERR "ID: $id => KEY: $keyword => TITEL: $titel => unterseiten: $unterseiten\n";
my $hashref = {};
$hashref->{"link"} = $cgi->a( {href => $cgi->url(-full=>1) . "?action=$keyword" }, "$titel");
push @{ $seiten }, $hashref;
}

Vorgehensweise:
DIe aus dem Array (fetchrow_array) werden extrahiert, in eine Hashreferenz gepackt, welche dann an eine Arrayreferenz angehangen wird.
Das funktioniert auch prima so.
Ich hätte das jetzt aber gerne kürzer, nach Möglichkeit in einer Zeile.
Mein Hauptproblem ist, dass mein perl immer meckert, wenn ich hashreferenzen benutzen möchte, die ich vorher nicht definiert habe.
So z.B.:
my $hashref->{blablabla} = val; #ERROR!
Dagegen:
my $hashref = {};
$hashref->{blablabla} = val; # geht!?

Wer kann mir helfen?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread geht das auch kürzer?: Schleife->hashref in arrayref