Thread bisherige Skriptausgabe soll zusammengeführt werden (12 answers)
Opened by choff at 2011-10-05 18:14

payx
 2011-10-08 11:59
#152956 #152956
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo choff,

meine Lösung ist eigentlich sehr wenig künstlerisch, hier gibt es Leute, die dasselbe möglicherweise in einen Einzeiler gezaubert hätten. Und so enorm viele Funktionen gibt es in Perl eigentlich auch wieder nicht, es ist mehr die Vielfalt der Möglichkeiten, zu demselben Ergebnis zu kommen, die einen mal verwirrt, mal erfreut.

qw(a b c) ist dasselbe wie ('a', 'b', 'c') siehe Quote-Like-Operators in perlop.

In Zeile 7 geschieht zweierlei:
Code (perl): (dl )
my @entry = map {$elements{$elementId}->{$_}} @header;
tut dasselbe wie
Code (perl): (dl )
1
2
3
4
my @entry;
for my $col (@header) {
    push @entry, $elements{$elementId}->{$col};
}
– nur eben ohne Schleife, siehe map.

Wenn Du das so laufen lässt, bekommst Du bei fehlenden Werten Warnings uninitialized, deshalb ersetzt der eingebettete Ausdruck
Code (perl): (dl )
defined $elements{$elementId}->{$_} ? $elements{$elementId}->{$_} : ''
die null-Werte durch empty String.

HTH
Grüße
payx

View full thread bisherige Skriptausgabe soll zusammengeführt werden