Leser: 3
|< 1 2 >| | 14 Einträge, 2 Seiten |
$hash{$name} = $key;
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
44
45
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
# in welchem Verzeichnis willst du suchen
my $workdir='/hier/pfad/zum/verezeichnis';
# da rein kommen alle Datensätze
my %datensaetze;
# Verzeichnis öffnen
opendir(my $dir, $workdir) or die "Konnte Verzeichnis $workdir nicht oeffnen ($!)\n";
# Dateinamen einzeln auslesen
while(my $dat=readdir($dir))
{
# ist es wirklich eine Datei?
if(-f "$workdir/$dat")
{
# Datei öffnen
open(my $in, '<', "$workdir/$dat") or die "konnte Datei $workdir/$dat nicht oeffnen ($!)\n";
# Namen für den Hash generieren
$dat=~s/^(.+?)\..+$/$1/s;
# wenn noch kein hasheintrag mir dem Namen existiert einen erzeugen
$datensaetze{$dat}={} unless (exists($datensaetze{$dat}));
# Datei Zeilenweise auslesen
while(my $line=<$in>)
{
# Zeilrnumbruch entfernen
chomp($line);
# Zeile aufsplitten
my ($name,$wert)=split(/\s*,\s*/,$line,2);
# Daten in den Hash schreiben
$datensaetze{$dat}{$name}=$wert;
}
# Datei schließen
close ($in);
}
}
# Verzeichnis schließen
closedir($dir);
# alles gefundenen ausgeben
print Dumper(\%datensaetze)."\n";
1 2 3 4
# Namen für den Hash generieren $dat=~s/^(.+?)\..+$/$1/s; # wenn noch kein hasheintrag mir dem Namen existiert einen erzeugen $datensaetze{$dat}={} unless (exists($datensaetze{$dat}));
$datensaetze{$dat}={} unless (exists($datensaetze{$dat}));
|< 1 2 >| | 14 Einträge, 2 Seiten |