Thread Perl Hilfe
(26 answers)
Opened by Julie at 2009-07-07 09:20
also als erstes solltest du dein programm lauffähig machen. da fehlen so viele klammern und semikolons, dass das ding ja niemals kompilieren wird.
syntax von perl solltest du schon beherrschen. beispielhaft hier mal eine subroutine in modernem perl: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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; } das perl, was ich bei dir sehe, ist steinzeitperl, es wird noch nicht mal durchgängig my() benutzt. aus welchem uralt-buch lernt ihr das? Last edited: 2009-07-07 10:14:33 +0200 (CEST) Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |