Jemand zu Hause?Leser: 26
1
2
3
4
5
6
7
open en, "< ../TRAJ".$i."/RESULTS/en.dat";
while (<en>){
@line = split;
@z[$l] = [@line];
$l++;
}
close en;
1
2
3
4
5
6
7
8
9
10
for $i (1 .. $ARGV[0]){
open xyz, "< ".$ARGV[$i];
$l=0;
while (<xyz>){
@line = split;
@z[$i][$l] = [@line];
$l++;
}
close xyz;
}1 2 3 4 5 6 7
open en, "< ../TRAJ".$i."/RESULTS/en.dat"; while (<en>){ @line = split; $z[$l] = [@line]; $l++; } close en;
1 2 3 4
{ open en, "< ../TRAJ".$i."/RESULTS/en.dat"; push @z, [split] while <en>; }
2010-06-01T14:09:00 lichtkind[...]
sowas würd ich so schreiben :)
Code (perl): (dl )1 2 3 4{ open en, "< ../TRAJ".$i."/RESULTS/en.dat"; push @z, [split] while <en>; }
[...]
1 2 3 4 5 6
use autodie; my @z = do { open my $en, '<', "../TRAJ$i/RESULTS/en.dat"; map [ split ], <$en>; };
perlreftut bzw.
perllol, dann sollte einiges klarer werden.
perllol und
perlreftut.QuoteIch möchte also z.B. $z[1][0][0] die 1 zuweisen, $z[1][0][1] die 2 und $z[1][0][2] die 3
$z[1][0] = [1..3]
@{$z[1][0]}[0..2] = (1..3);
2010-06-01T14:21:46 lichtkindmach dir erstmal 2 sachen klar:
1. runde klammern erzeugen einen Array,
2. eckige einen Zeiger auf einen Array
1
2
3
4
@a=(0,1); @b=(2,3);
@{$c[0]}=@a; @{$c[1]}=@b;
$d[0]=\@a; $d[1]=\@b;
@e[0]=@a; @e[1]=@b;
@a=((0,1),(2,3))
@a=([0,1],[2,3])
perlvar.
Storable eine tiefe Kopie einer komplexen Datenstruktur anlegen.
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem2010-06-21T15:20:55 Sven_123Das war eher auf den anderen Thread bezogen, wo ich gemeint hab, dass ich die Module lieber umgeh, wegen der Installation etc.
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem