Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8768[/thread]

RegExp: Slash an Pfad anfängen, ...: ... falls nicht vorhanden (Seite 2)



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
Relais
 2007-02-20 16:29
#74411 #74411
User since
2003-08-06
2261 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=docsnyder,20.02.2007, 11:33]
Code: (dl )
$path =~ s!([^/])$!$1/!;
[/quote]
Also wenn schon, dann aber
Code: (dl )
s!/*$!/!; # don't trust user input.


Im ernst halte ich die ersten Beispiele im Thread (oder doch gleich CPAN:File::Spec) für sinnvoller.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
pq
 2007-02-24 01:35
#74412 #74412
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Lightman,20.02.2007, 11:43]@pq: Das Modul File::Spec ist auf dem Webserver nicht installiert und ich habe auch keinen Root-Zugriff.[/quote]
also File::Spec gibt es seit 5.005 als core-modul. wenn du eine
ältere perl-version hast, tust du mir sowieso leid =)
und module kann man auch ohne root-zugriff installieren.
ansonsten hindert dich natürlich keiner, es selbst zu implementieren =)\n\n

<!--EDIT|pq|1172273781-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
betterworld
 2007-02-24 04:32
#74413 #74413
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Relais,20.02.2007, 15:29]Also wenn schon, dann aber
Code: (dl )
s!/*$!/!; # don't trust user input.
[/quote]
Oder doch so:
Code: (dl )
s!/*\z!/!; # really don't trust user input


Im Unterschied zu "\z" (was fuer das Ende des Strings steht) matcht das $ auch vor einem Zeilenumbruch, der am Ende des Strings steht.  Wenn man also einen Dateinamen hat, der mit einem Zeilenumbruch aufhoert (sowas ist unter Un*x moeglich), wird vor dem Zeilenumbruch der Schraegstrich eingefuegt.  Mit \z kann das nicht passieren.

Lightman: Ob Du Ausrufezeichen, Klammern oder Schraegstriche (wie in Deinem obersten Posting) oder andere Zeichen (außer Fragezeichen) verwendest, macht keinen Unterschied.  Schraegstriche haben nur den Nachteil, dass man echte Schraegstriche im Pattern dann ersetzen muss, und das ganze Auf und Ab von Vorwaerts- und Rueckwaerts-Schraegstrichen kann man sehr schwer lesen.\n\n

<!--EDIT|betterworld|1172284374-->
Lightman
 2007-02-24 12:42
#74414 #74414
User since
2007-01-31
57 Artikel
BenutzerIn
[default_avatar]
[quote=pq,24.02.2007, 00:35]also File::Spec gibt es seit 5.005 als core-modul. wenn du eine ältere perl-version hast, tust du mir sowieso leid =)[/quote]
Oh, dass es Core-Modul ist, wusste ich nicht. Hatte auf dem Server nur mal kurz in die Liste der installierten Module geschaut und es (logischerweise) nicht gefunden.
Dass auf dem Server Perl > 5.005 läuft, kannst du dir sicher denken. ;)  ^_^
nepos
 2007-02-24 14:23
#74415 #74415
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wenn ich da manche Server bei uns im Haus ansehe, ist das nicht so sicher, dass da ne halbwegs aktuelle Perl-Version läuft ;)
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2007-02-19 21:28.