fastix®: Source von PERL > PHP

Beitrag lesen

Moin!

outline_tree(1, 1);

Aufruf einer Funktion.

sub outline_tree {

# das ist die Funktion. Du kannst diese mit "sub" -> "function (arg1, arg2,...)" um"schreiben".

if (-e "$story_dir/$_[0].txt") {

# $_[0] ist das erste Argument der Argumenteliste.
      # Existiert die Datei $story_dir/$_[0].txt ?
      # Du brauchst $story_dir als globale Variable oder mussr es übergeben.

$auth = "";
      $title = "";
      $time = "";

# Kein Kommentar.

if (open(CHAPTER, "$story_dir/$_[0].txt")) {

# CHAPTER wird ein Filehandler , das weitere geschieht, so das Öffnen gelingt.

$auth = <CHAPTER>;
         $time = <CHAPTER>;
         $title = <CHAPTER>;
         close(CHAPTER);

# Die   Variablen werden mit dem Inhalt der Zeilen von $story_dir/$_[0].txt gefüllt

chomp($auth);
         chomp($title);
         chomp($time);
         if ($auth ne "") {
            $auth = "von $auth";
         } # end if
      } # end if

# Die Variablen wurden ein wenig "fein" gemacht.

print "   " x ($_[1] - 1);
      $x = format_chapter_number($_[1] - 1);
      print "Kapitel $_[1]: <a href="story.pl?next=$_[0]&chapter=$x">$title</a> $auth";

# Es ein wenig was ausgegeben.

# Es folgt ein rekursiver Funktionsaufruf (Funktion ruft sich selbst)

# Dazu wird das erste Argument verdoppelt, das zweite um eines erhöht.

outline_tree(2 * $_[0], $_[1] + 1);

# Da es immer zwei Möglichkeiten der Fortsetzung gibt:
         # Das erste Argument wird verdoppelt und um eines erhöht, das zweite um eines erhöht

outline_tree((2 * $_[0]) + 1, $_[1] + 1);

$chapter_count++

# Die offenbar globale Variable chapter_count wir um eines erhöht.

} end if
} end function

sub format_chapter_number {
   my $my_chapter_number = $_[0];   # Parameter is chapter number.
   return(sprintf("%.0f", $my_chapter_number));

# Ganz tolle Funktion.  Gibt den übergebenen Wert als ganze Tahl zurück.
      # ein "$my_chapter_number=$my_chapter_number*1" hätte das auch getan...

} end function

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.