Thread Einträge im Array löschen, auslesen, ..
(16 answers)
Opened by Gast at 2005-11-21 12:35
Dann besser so (die Titel für die Hashbildung verwenden):
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; $Data::Dumper::Sortkeys = 1; my @Array1 = ( 'Nr;Name;Vorname;Strasse;Ort', '1;Bauer;Otto;Heuweg 1;Bonn', '2;Mueller;Mark;Holzweg 2;Berlin', '3;Schreiber;Stefan;Hochweg 3;Muenchen', ); print "Array = ", Dumper \@Array1; my @Array2; # hier kommt spter alles rein # Ueberschrift entfernen und speichern: my @Title = split /;/, shift @Array1; my $N = @Title; print "Title = ", Dumper \@Title; print "Array = ", Dumper \@Array1; for (@Array1) { # am semikolon auftrennen my @line = split /;/; die "Falsche Anzahl Elemente" unless $N == @line; # als anonymen Hash zuweisen my %hash; for my $i (0 .. $N-1) { $hash{$Title[$i]} = $line[$i]; # wir hoffen, dass alle Spalten unterschiedliche Titel haben... } push @Array2, { %hash }; } print "Array2 = ", Dumper \@Array2; # auf einzelne Werte zugreifen print $Array2[1]->{'Vorname'} . ' ' . $Array2[1]->{'Name'} . " \n"; print $Array2[2]->{$Title[2]} . ' ' . $Array2[2]->{$Title[1]} . " \n"; Ausgabe: Code: (dl
)
1 Array = $VAR1 = [ <!--EDIT|Crian|1132670374--> s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite |