Thread Array mit Laufvariable erstellen
(6 answers)
Opened by Sanny at 2010-10-04 15:48
wenn ich das vielleicht richtig errate, möchtest du die variable $i im variablennamen haben.
das ist eine äusserst schlechte idee, auf diese weise dynamische variablennamen zu generieren, und ausserdem ist es in perl 5 nicht nötig, da man mittels array-refereferenzen ganz einfach mehrdimensionale arrays erstellen kann. siehe zum thema variablennamen auch VariablenAlsVariablennamen Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 use strict; use warnings; use Data::Dumper; my @data = ...; my @sections; for (@data) { for my $i (1 .. 3) { my $j = $i+1; if (m/Sec_$i/ .. m/Sec_$j/) { # füge zeile in das array von $sections[$i-1] ein push @{ $sections[$i-1] }, $_; } } } print Dumper \@sections; so könnte das funktionieren, allerdings glaube ich, dass das mit dem flip-flop-operator so nicht funktionieren wird, wenn er mit verschiedenen bedingungen hintereinander aufgerufen wird. wie sehen deine daten genau aus? dann könnte man sich hier einen algorithmus ohne flip-flop-operator überlegen. 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 |