Cheatah: Was bedeutet die endung .pl ?

Beitrag lesen

Hi,

Ich habe sogar ein Programm geschrieben, das mir die Miscellaneous Symbols als Entities ausgibt.* Darauf bin ich stolz

auf die erfolgreiche Umsetzung eines nicht-trivialen Algorithmus' kann man auch stolz sein.

  • obwohl ich befürchte, dass ich die Sache mit den regulären Ausdrücke noch ein paar Mal lesen muss, damit ich sie annähernd verstehe...

Was bisher noch nicht erwähnt wurde ist, dass Perl zwar stark in RegExps ist, beide aber nicht mehr miteinander zu tun haben, als Perl und CGI. RegExp gibt es auch außerhalb von Perl (z.B. auch in PHP), und soweit ich informiert bin, gab es sie bereits _vor_ Perl.

gibt es irgendeinen Grund, warum man dafür for und nicht while benutzen sollte?

'for' ist sinnvoll, wenn man ein bekanntes, abzählbares Set von Werten bzw. Durchläufen hat - insbesondere also die Art "1, 2, 3, ..., 999, 1000, 1001 - Schatz, es ist ein Junge!" (sprach der Tausendfüßler *g*)

'while' ist sinnvoll, wenn Du einen Programmteil solange ausführen willst, bis eine bestimmte Bedingung zutrifft, von der Du vorher aber nicht weißt, wann das sein wird. Triviale Fälle sind quasi-identisch mit einer for-Schleife (mit etwas mehr Einfluss auf die Schrittweite), nicht triviale gehen z.B. in folgende Richtung (Pseudocode, Mischung aus Perl und Python):

@a = [42];
while ($a[-1] not in @a[0..-2]) {
   if ($a[-1] % 2): push(@a, $a[-1]/2);
   else:            push(@a, $a[-1]*3+1);
}

Dem einen oder anderen mag dieser Algorithmus bekannt vorkommen :-)

Sollte man das überhaupt? Ist das ein schlimmer Fehler, eine Unsauberheit oder etwas unbedeutendes?

Es ist ein Fehler, eine nicht passende Variante zu wählen.

* Ohne das CGI-Modul zu verwenden, ich denke, jetzt sollte ich in die Ecke gehen und mich schämen. Oder gibt es Ausnahmen für Erstlingsprogramme?

Wenn Du die Fähigkeiten des Moduls nicht brauchst, ist es - selbst bei CGI-Scripts - kein Fehler, darauf zu verzichten.

** obwohl sie natürlich einräumen, dass es andere Sprachen gibt, die auch sinnvoll sein können

Ja, selbst PHP :-)

Cheatah