Leser: 1
|< 1 2 >| | 16 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl
use strict;
use warnings;
# für die Ausgabe des Hashes
use Data::Dumper;
# die Dateien
my @files = qw(file1.txt file2.txt file3.txt);
# hier wird alles drin gespeichert
my %hash;
for(0..(scalar @files)-1){
open my $fh,'<',$files[$_] or die $!;
$hash{$_} = [<$fh>];
close $fh;
}
print Dumper(\%hash);
1
2
3
4
5
6
7
8
9
10
11
12
for(0..(scalar @files)-1){
open my $fh,'<',$files[$_] or die $!;
while(do {local $/="\n\n\n";defined($data = <"$fh">)}){
for my $line(split(/\r?\n/,$data)){
chomp $line;
my $spalte1 = (split(/\s+/,$line))[0];
my $spalte2 = (split(/\s+/,$line))[1];
my $spalte3 = (split(/\s+/,$line))[2];
$hash{$_} = ($spalte1, $spalte2, $spalte3);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for my $index(0..(scalar @files)-1){
open my $fh,'<',$files[$_] or die $!;
my $data_counter = 0;
while(do {local $/="\n\n\n";defined($data = <$fh>)}){
my $line_counter = 0;;
for my $line(split(/\r?\n/,$data)){
chomp $line;
my ($spalte1,$spalte2,$spalte3) = (split(/\s+/,$line))[0..2]; # die hier war nur "Kosmetik"
$hash{$_}->{$data_counter}->[$line_counter} = [$spalte1, $spalte2, $spalte3];
$line_counter++;
}
$data_counter++;
}
}
# gib 2. Spalte der 4.Zeile des 2. Datensatzes der 3.Datei aus:
print $hash{2}->{1}->{3}->[1],"\n";
1 2 3 4 5 6 7 8 9
my @files = ('bla_1.txt', 'bla_2.txt', 'bla_3.txt'); my @data; foreach my $file (@files) { open(F, "<$file") or die "Konnte $file nicht öffnen."; my @tmp = <F>; # Wenn du nur ein paar Spalten speichern willst, musst du @tmp hier bearbeiten. close(F); push(@data, [ @tmp ]); }
|< 1 2 >| | 16 Einträge, 2 Seiten |