Schrift
[thread]7932[/thread]

sonderzeichen in dateipfad escapen (Seite 2)

Leser: 1


<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
esskar
 2006-05-01 13:34
#65407 #65407
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=jan,01.05.2006, 00:41]mh? hat activestate das pseudofork mittlerweile gut lauffähig?[/quote]
seit WinNT gibt es mit fork unter perl keine Probleme.
vayu
 2006-05-01 14:19
#65408 #65408
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
funktioniert!

Proc::Background!! :)

Danke\n\n

<!--EDIT|vayu|1146479696-->
ptk
 2006-05-03 01:25
#65409 #65409
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Matze,30.04.2006, 13:56]Wenn du alle Sonderzeichen escapen möchtest, machst du es
am besten so:
Code: (dl )
$filename = "\Q$filename\E";
[/quote]
Wobei man mit \Q oder quotemeta nur regexp-relevante Sonderzeichen escapen kann. In der Shell werden andere Sonderzeichen verwendet. Zufälligerweise stimmen einige (die meisten?) Sonderzeichen überein, so dass man mit \Q Glück haben kann und es funktioniert.
Matze
 2006-05-03 18:03
#65410 #65410
User since
2005-08-29
222 Artikel
BenutzerIn
[Homepage] [default_avatar]
Welche Sonderzeichen sollte man denn lieber anders escapen ?

MfG. Matze
Mit freundlichen Grüßen: Matze
vayu
 2006-05-03 18:22
#65411 #65411
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
unter *nix die Leerzeichen zB :)

gibt immer noch leute, die auf *nix system leerzeichen in einen verzeichnissnamen stecken.
Strat
 2006-05-03 21:14
#65412 #65412
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@vayu: solange es keine zeilenumbrueche sind, stoert es mich nicht weiter
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
vayu
 2006-05-05 17:01
#65413 #65413
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
bei mir gabs zB probleme, wenn ich meinen befehl nicht noch mit hochkommas einklammere, da er sonst bei ordner mit leerzeichen falsch interpretiert.

c:\My Documents\bla.exe

würde er dann als

<befehl> <parameter> interpetieren.

unter windows zumindest\n\n

<!--EDIT|vayu|1146834108-->
betterworld
 2006-05-05 17:49
#65414 #65414
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=vayu,05.05.2006, 15:01]bei mir gabs zB probleme, wenn ich meinen befehl nicht noch mit hochkommas einklammere, da er sonst bei ordner mit leerzeichen falsch interpretiert.

c:\My Documents\bla.exe

würde er dann als

<befehl> <parameter> interpetieren.

unter windows zumindest[/quote]
Ich weiß ja nicht, ob das unter Windows auch geht, aber unter Unix kann man das Interpretieren von Leerzeichen abschalten. In etwa so:
Code: (dl )
system {$command} ($command)

Wenn der Befehl Parameter bekommen soll, geht es sogar etwas weniger kryptisch:
Code: (dl )
system($command, @args);

Bei diesen beiden Schreibweisen wird der Befehl nicht an eine Shell uebergeben und auch nicht nach Whitespaces gesplittet, sondern so wie er ist ausgefuehrt.

Siehe dazu auch perldoc -f exec.\n\n

<!--EDIT|betterworld|1146837098-->
Strat
 2006-05-05 21:31
#65415 #65415
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
dafuer gibt's ja die datei- und verzeichnisnamenvervollstaendigung per tab... kann jede vernuenftige shell (sogar cmd.exe)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
renee
 2006-05-05 21:48
#65416 #65416
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Strat: Das mit der Vervollständigung wird in einem Perl-Skript aber schwierig...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2006-04-30 15:51.