Thread Kurze Frage zu Hash in Hash (9 answers)
Opened by Lightman at 2007-02-14 17:10

betterworld
 2007-02-14 21:59
#74333 #74333
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Lightman,14.02.2007, 17:43]
Code: (dl )
1
2
    local $_;
   while (<CONFIG>) {

? Wieso ist das nötig? In meinen Perl-Büchern steht diesbzgl. nichts, bzw. zu der Notwendigkeit.[/quote]
Genau deswegen sage ich ja "weitverbreiteter Fehler".  Gerade vorgestern habe ich mir mit so etwas wieder in den Fuß geschossen ;-)

Betrachte einfach das folgende Script, dann wirst Du das Problem wahrscheinlich erkennen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my @files = ("testfile", "irgendwas");

for (@files) {
  my $lines = count_lines($_);
  print "$_ hat $lines Zeilen.\n"; # Achte genau auf die Ausgabe
}

sub count_lines {
  my $filename = shift;
  open my $F, "<", $filename or die "Kann $filename nicht oeffnen: $!\n";
  my $counter=0;

  # In einem guten Script wuerde an dieser Stelle local $_; stehen

  while (<$F>) {
      ++$counter;
  }
  return $counter;
}

(Wenn man dieses Script ausfuehren moechte, sollte man vorher die Dateien "testfile" und "irgendwas" anlegen.

Es ist ein fuerchterlicher Misszustand, dass so viele Leute davon nichts wissen, sogar wenn sie Buecher ueber Perl schreiben.\n\n

<!--EDIT|betterworld|1172928132-->

View full thread Kurze Frage zu Hash in Hash