Thread Array mit Laufvariable erstellen (6 answers)
Opened by Sanny at 2010-10-04 15:48

pq
 2010-10-04 19:30
#141714 #141714
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
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 Wiki: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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Array mit Laufvariable erstellen