Hallo Syrus,
da fehlt wohl noch der Eintrag
if ( $antwort eq "lustig" ) { &schmoll; }
aber mal im ERNST:
Ich glaube, daß es zuviele mögliche Kombinationen gibt. Man kann ja crypt() auch noch parametrisieren. Außerdem kann das Passwort eine variable Länge haben.
Wenn Du es wirklich versuchen möchtest, dann brauchst Du eine Funktion, die sich selbst (rekursiv) aufruft und Deinen gewünschten Zeichensatz (Schleife machen) prüft. Der Übergabeparameter ($_[0]) wird dadurch immer länger.
Rein logisch könnte es so aussehen:
Funktion check:
ist crypt($_[0] ) gleich dem gecrypteten passwort? wenn ja -> print, exit
schleife von a-z anfang
check($_[].$einbuchstabe)
schleife ende
Bei der Schleife kannst du entweder ein array ( $buchstabe[0] bis $buchstabe[n] ) durchlaufen lassen (foreach-Befehl) oder mit substr($buchstaben,n,1) arbeiten und nur einen String ($buchstaben="abcdeABCDE") durchsuchen (for-Befehl)
Es kann zu einem Überlauf des Stack kommen, da ich mir nicht sicher bin, wieviele rekursive Ebenen verwaltet werden können. Du solltest auch noch eine Abbruchbedingung einbauen (wenn z.B. die Stringlänge (length) 9 erreicht hat.
Viel Spaß
dersichnichtmehrganzsofürchtende Christian
PS: Stefan: Danke für die Blumen. Ich bin und bleibe hier - auch wenn ich nicht so häufig poste.... <schleim> Wo sonst gibts diese Qualität der Besucher? </schleim>