Hallo,
bin ein blutiger Perl-Anfänger, und habe direkt ein Problem mit Referenzen, an dem ich schon eine ganze Weile herumbastle. Dazu erstmal ein Stück Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl -w
use strict;
use warnings;
main();
sub main {
my %hash = ();
$hash{'check'} = 'klappt';
test(\%hash);
print "2: $hash{'0'}\n";
}
sub test {
my ($ref) = shift;
my %hash = %$ref;
print "dref: $hash{'check'}\n";
$hash{'0'} = 'klappt nicht';
print "1: $hash{'0'}\n";
}
Ich will im Prinzip nur eine Referenz an eine Funktion übergeben, in dieser den Inhalt verändern, und auf diesen veränderten Inhalt in der aufrufenden Funktion zugreifen.
Allerdings bekomme ich bei diesem Punkt
immer nur ein
Use of uninitialized value in concatenation (.) or string at ref.pl line 12.
Ist garantiert trivial, aber ich komme einfach nicht drauf, was falsch ist. Könnte mir das kurz jemand verraten?
Danke schonmal, Gruss,
Matthias