Hi,
Ich habe in Perl eine Uploadfunktion programmiert, mit der ich Dateien hochladen kann. Nun möchte ich aber, das der Uploader keine Sonderzeichen in seinem Dateinamen verwendet und wenn ja, dann soll er diese durch ein _ ersetzen.
Genauso mit großen Buchstaben, da sollen die Zeichen dann klein geschrieben werden.
Wie mach ich das. Ich habe es schon geschafft den Dateinamen aufzusplitten, so das ich dann einmal den Datei Typ habe und den Rest.
Wenn der Dateiname z.B. in $string steht kannst Du mit
$string =~ s/([A-Z])/\L$1\E/g;
erstmal das mit den Kleinbuchstaben in den Griff bekommen. Und mit
$string =~ s/[äöüÄÖÜ]/_/g;
z.B. Umlaute rauswerfen.
Dabei ist zu beachten, daß Du Dir auf jeden Fall Perls "reguläre Ausdrücke" reinziehst. Wenn also in $string nun ein Dateiname steht, der Deinen Vorstellungen entspricht, musst Du die Datei nur noch umbenennen (bei Uploadscripten wird normalerweise sowieso erst mal eine tempöräre Upload-Datei angelegt, die dann umbenannt und verschoben wird).
viele Grüße
Achim Schrepfer