Thread Hash nach HTML mit Modul? (16 answers)
Opened by Neyt at 2013-03-22 10:12

Raubtier
 2013-03-22 10:45
#166517 #166517
User since
2012-05-04
1075 Artikel
BenutzerIn
[default_avatar]
Wie wäre es denn mit einer einfachen Funktion?

Sowas in der Art hier (ungetesteter Code):

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub hashref2html {
my ($hashref, $tiefe) = @_;
$tiefe ||= 1; #starten mit Tiefe 1, wenn keine Tiefe gegeben
for my $key (sort keys @$hashref) {
print "<h$tiefe>$key</h$tiefe>";
#nachschauen, ob ich einen unterhash habe
if (ref $hashref->{$key} eq "HASH") {
hashref2html($hashref->{$key}, $tiefe + 1);
} else {
print $hashref->{$key};
}
}
}


Achtung: habe jetze kein HTML-Quoting eingebaut, das müsstest du dann noch machen. Die generelle Idee ist aber, dass du durch den Hash durchgehst und dann einfach alles ausgibst. Wenn der Wert aber wieder ein Hash ist, dann rufst du dich rekursiv auf mit einer um 1 höheren Tiefe. Achtung: ein Hash hat keine Ordnung, daher habe ich ein sort der Keys gemacht.
Last edited: 2013-03-22 10:49:55 +0100 (CET)

View full thread Hash nach HTML mit Modul?