Auf jeden Fall sollte man beim Umbenennen abtesten, ob das gleiche Filesystem verwendet wird und nicht immer Kopieren und Löschen, das kann u.a. sehr lange dauern und das Umbenennen von Verzeichnissen auf sehr vollen Datenträgern unmöglich machen.
Kleiner theoretischer Ausflug zu rekursiven Funktionen: rekursive Funktionen haben keine "geschlossene" Definitionen, sondern in der Definition kommt der Aufruf der Funktion selbst wieder vor. Das kann dann trotzdem berechnet werden, wenn die Werte kleiner als der zu berechnende Wert (oder sonstwie bekannt) sind.
Ein Beispiel:
f(0) := 1
f(n) := 1 + f(n-1)
Manchmal lassen sich - wie in diesem Fall - "geschlossene" Formeln für die Funktion finden, hier etwa
f(n) := n+1
Es gibt aber auch rekursive Funktionen, für die das nicht gelingt.
Betrachten wir die Ackermannfunktion, sie wurde 1928 von dem Mathematiker Wilhelm Ackermann definiert und wird heute in der folgenden vereinfachten Form verwendet:
ack(0,y) := y+1
ack(x,0) := ack(x-1,1)
ack(x,y) := ack(x-1,ack(x,y-1))
kleine Werte lassen sich leicht ausrechnen, aber wenn man größere Werte errechnen will, stößt man immer noch sehr schnell an die Grenzen der Computer, selbst mit Abspeichern bekannter Werte.
Falls es interessiert, kann ich das entsprechende Programm dazu mal hervorkramen (ist allerdings C++ iirc - sollte sich aber leicht in Perl übertragen lassen).\n\n
<!--EDIT|Crian|1084276802-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite