Thread for-Loop seltsamer Vergleich am Schleifenende (15 answers)
Opened by GwenDragon at 2013-08-22 19:32

GwenDragon
 2013-08-22 19:32
#169702 #169702
User since
2005-01-17
14773 Artikel
Admin1
[Homepage]
user image
Ich bin heut über diesen Schnippsel gestolpert.

Auszug:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
chdir $LOGPATH;  # Change to the log directory
foreach $filename (@LOGNAMES) {
  my $oldest = "$filename.$MAXCYCLE";
  archive($oldest) if -e $oldest and $ARCHIVE{$filename};
  for (my $s=$MAXCYCLE; $s--; $s >= 0 ) {
     $oldname = $s ? "$filename.$s" : $filename;
     $newname = join(".",$filename,$s+1);
     rename $oldname,$newname if -e $oldname;
  }
}
Siehe http://stein.cshl.org/WWW/docs/handout.html#Log_ro...

Herr Stein meint: Cool Tricks With Perl and Apache. Öhhm. Was ist denn das für ein Trick von 1998?

Ich bin zu dumm, das zu verstehen: for (my $s=$MAXCYCLE; $s--; $s >= 0 ) {
Kann mir jemand mal das klar machen, was $s >= 0 bewirken soll?
Bedeutet doch eigentlich:
Code (perl): (dl )
1
2
3
4
5
6
7
my $s = $MAXCYCLE; 
while ($s--) {
  $oldname = $s ? "$filename.$s" : $filename;
  $newname = join(".",$filename,$s+1);
  rename $oldname,$newname if -e $oldname;
  $s >= 0;
} 


Nich umsonst meckert Perl 5.10: Useless use of numeric ge (>=) in void context at rotate.pl line 37.
Last edited: 2013-08-22 19:34:56 +0200 (CEST)

View full thread for-Loop seltsamer Vergleich am Schleifenende