Thread strict + Variable als Hashname
(2 answers)
Opened by qwe123qwe at 2013-11-03 15:27
ich verstehe erstmal gar nicht, was du haben willst.
einerseits möchtest du dynamisch die hashes %Station1, %Station2 etc. füllen. und zwar für jede zeile neu. wenn also ein bezeichner mehrmals vorkommt, wird nur die letzte zeile berücksichtigt. und dann willst du die dynamisch gefüllten hashes in @alarme ablegen, wobei der name des hashs dann ja eh wieder verloren geht. grundsätzlich löst man das problem der dynamischen variablennamen mit hashes. genau dafür sind hashes gemacht. da deine variablen hashes sein sollen, hättest du dann eben hashes of hashes. ich werde wie gesagt aus deinem skript nicht schlau, welche daten du am ende haben möchtest. möchtest du für jede "Station" eine liste haben? Code (perl): (dl
)
1 2 3 4 5 6 7 8 use Data::Dumper; my %stationen; ... # in der schleife push @{ $stationen{ $1 } }, { zeit => $2, alarm1 => $3, alarm2 => $4, alarm3 => $5 }; ... # am ende print Dumper \%stationen; hier solltest du sehen, wie die fertige datenstruktur aussieht. $stationen{1} ist eine array-referenz. dieses array beinhaltet wiederum hashes (referenzen), für jede zeile einen. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |