use strict; use warnings; my $addresses = namenladen('adressen.txt'); # edit # reagieren, wenn datei nicht geöffnet werden konnte die "Konnte adressen.txt nicht öffnen: $!" unless $addresses; print $addresses->{"larry wall"}, "\n"; sub namenladen { my ($filename) = @_; my %hash; # modernes open mit $fh statt bareword-filehandle open my $fh, '<', $filename or return; while (my $line = <$fh>) { chomp $line; # split bekommt eine *regex* als erstes argument, keinen string! # geht davon aus, dass es nur ein tab pro zeile gibt my ($name, $address) = split /\t/, $line; $hash{ $name } = $address; } return \%hash; }