Leser: 1
|< 1 2 >| | 16 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
my %hash;
&Doc_Rep_info(\%hash);
#einfacher test auf inhalt
foreach my $ele ( keys(%hash)){
print "dokuart:"."$ele\n";
foreach my $ele2 (keys %{ $hash{$ele} }){
print "$ele2\n";
print "$hash{$ele}{$ele2}\n";
}
}
}
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
# Doc_Rep_info speichert alle benötigten Informationen zur dokuart in einen hash
sub Doc_Rep_info{
open(DATEI, "<./Konfigurationsdaten/20060310.DOCFIELD") || die "Fehler beim öffnen von Datei $datei - $!";
my @Zeilen = <DATEI>;
close(DATEI);
my %hash2; <---betreffende Zeile
#my $hash2 = shift; etc ????
my $old_doc;
my %hash;
#Gehe Zeilen der Docfielddatei durch
foreach (@Zeilen){
if (/(\w+)\;(\d+)\;(\d+)/){
$dokuart = $1;
$zahl1 = $2;
$zahl2 = $3;
if(!defined $old_doc){
$old_doc = $dokuart;
}
#wenn dokuart nicht mehr die gleiche wie im letzten durchlauf der froeach-
#schleife speichere den hash in hash2 mit key alte dokuart.
if($dokuart!=$old_doc){
$hash2{$old_doc}=\%hash; <---betreffende Zeile
%hash;
}
#gehe Zeilen der Repository durch und speichere zahl und header in hash
open(DATEI, "<./Konfigurationsdaten/20060310.REPOSITORY") || die "Fehler beim öffnen von Datei $datei - $!";
my @Zeilen2 = <DATEI>;
close(DATEI);
foreach(@Zeilen2){
if(/^$zahl2;(^[;]+)/){
$hash{$zahl1}=$1;
}
}
}
$old_doc = $dokuart;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
my %hash = (key1 => 1, key2 => 2, key3 => 3);
deref(\%hash);
sub deref {
my %hash = %{$_[0]};
for (keys %hash) {
print "$_:$hash{$_}\n";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
my %hash = (key1 => 1, key2 => 2, key3 => 3);
work_with_reference(\%hash);
sub work_with_reference {
my $hash = shift;
for (keys %$hash) {
print "$_:$hash->{$_}\n";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %hash = (key1 => 1, key2 => 2, key3 => 3);
add_to_hash(\%hash);
die Dumper \%hash;
sub add_to_hash {
my $h_ref = shift or die;
$h_ref->{key4} = 4;
}
|< 1 2 >| | 16 Einträge, 2 Seiten |