Ja, toll. Ich denke genau das ist es. Nur.....wie mache ich das ?
User since
2003-08-04
5873
Artikel
ModeratorIn
Sei mal nicht so schlecht gelaunt, wir sind hier kein bezahlter Helpdesk. Ich hab ja die Antwort erst noch ausprobieren wollen, ist inzwischen oben reineditiert.
Statt
for ($test) {
eval "$re";
}
kannst Du aber auch
sagen.\n\n
<!--EDIT|Crian|1115214086-->
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
[quote=RiffRaff,04.05.2005, 15:38]Ja, toll. Ich denke genau das ist es. Nur.....wie mache ich das ?[/quote]
upsi - zeitliche Überschneidung.
Vielen Dank soweit, nur....muss dat mit use strict sein ?
Dann wächst die Fehlermeldungsanzahl nämlich auf 20 !?*nerv*
User since
2003-08-04
5873
Artikel
ModeratorIn
Ja. Natürlich geht es auch ohne, aber gerade die Fehler und Probleme die Die strict meldet, helfen Dir in der Zukunft viel größeren Problemen aus dem Weg zu gehen. Genaueres lies bitte hier nach:
http://wiki.perl-community.de/bin/view/Wissensbasis/UseStrict
Ich werde jedenfalls nicht Leuten helfen, die dauerhaft kein strict benutzen und dann uns die Fehler suchen lassen wollen (nur so als Warnung vorweg).
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
you soo right :D - Ich täte es dir gleich.
Naja, ich bin halt ein wenig verzweifelt, da ich als newbie, dessen nerven am seidenen Faden hängen, schon lange lese nüscht funzt. Um auf jeden Fall nicht noch mehr unsinnige 1-Zeiler Posts zu verfassen, mache ich erstmal Pause und setzte mich dann neu dran.
Auf jeden Fall vielen Dank erstma....
User since
2003-08-04
5873
Artikel
ModeratorIn
kein Problem. Ich würd an Deiner Stelle auf jedenfall erstmal die Funktionalitäten in einem normalen nicht-CGI-Skript prüfen, so wie in dem oben, und erst dann in das CGI-Skript einbauen.
Und wenn Du jetzt etwas Zeitaufwand hast um Dich an strict zu gewöhnen denk Dir, dass Du es später hundertfach wieder herausbekommst.
Ich weiß noch wie es mir ging, als ich auf use strict stieß. Ich fand "my" vor meinen Variablen einfach häßlich, es störte mein Sprachgefühl.
Das Sprachgefühl hat sich dann aber angepasst. :)
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
User since
2003-08-21
2614
Artikel
ModeratorIn
Ihr braucht weder qr noch eval!
## Zuweisung der Werte zu den Variablennamen
$string = $Formular[1];
$regexstring = $Formular[3];
foreach ($string)
{
$_ =~ $regexstring;
}
$output = $string;
Das funktioniert, wenn man auf Matches testen moechte. Da sollte man dann auch noch den Rueckgabewert pruefen, sonst macht das kaum Sinn.
Wenn man ersetzen moechte, geht das so:
foreach ($string)
{
s/$regexstring/ersetzen/;
}
Beachte, dass $regexstring in keinem Fall Schrägstriche oder ähnliches braucht.\n\n
<!--EDIT|betterworld|1115229068-->
User since
2003-08-04
2145
Artikel
ModeratorIn + EditorIn
Dass die Formulareintraege da aus einem Array kommen, stimmt mich ja schon mal misstrauisch. Das riecht irgendwie nach einem selbstgestrickten CGI-Parser ... @RiffRaff: Du benutzt doch CGI.pm, oder?
Zum anderen ist mir immer noch unklar, was das Programm tatsaechlich ausgeben soll. Schoen, man kann den $string nach irgendetwas durchsuchen, aber was wird zurueckgeben? Die Anzahl der Treffer? Der/die gefundene(n) Zeichenkette(n)? In welcher Form, vielleicht als Liste oder im vorgegebenen Text hervorgehoben, ...?
Auch der Code von betterworld macht da - sorry - nichts sinnvolles. Die Schleife bleibt ueberfluessig, da es ja nach wie vor nur ein String ist, uber den iteriert wird. Mit dem Ergebnis des Matchings wird gar nichts gemacht, und am Ende wird einfach wieder der Eingabestring ausgegeben (wobei ich mal davon ausgehe, dass HTML-Header etc. schon vorher ausgegeben wurde).
Also, ohne konkretes Ziel koennte ich hier keinen Code vorschlagen.
User since
2003-08-21
2614
Artikel
ModeratorIn
[quote=Dubu,04.05.2005, 23:52]Auch der Code von betterworld macht da - sorry - nichts sinnvolles. Die Schleife bleibt ueberfluessig, da es ja nach wie vor nur
ein String ist, uber den iteriert wird. Mit dem Ergebnis des Matchings wird gar nichts gemacht[/quote]
Die beiden Punkte sind mir auch aufgefallen --- aber ich habe das ja schliesslich nicht selbst geschrieben, sondern den Code von weiter oben gepastet und nur die Zeile mit dem regulaeren Ausdruck veraendert, um zu demonstrienen, dass es auch ohne qr und eval geht.
User since
2003-08-04
2145
Artikel
ModeratorIn + EditorIn
Schon klar. Dem Fragesteller sollte nur klar sein, dass auch dein Code sein Problem nicht loest. :)