Thread Anfängerprobleme: $file =~ s#$LOCAL_TREE/#$HTTP_REP#g;
(7 answers)
Opened by ronny at 2006-06-22 23:23
[quote=ronny,22.06.2006, 21:23]Beim Versuch, das Ganze nachzuvollziehen bleib ich an einer Stelle hängen:
$file =~ s#$LOCAL_TREE/#$HTTP_REP#g; Das soll in einem Dateinamen den Pfad ändern. Machts auch. Nur ich verstehs nicht:-) Sollten da statt der# nicht / stehehn? Was bewirken die #?[/quote] Hi, s/// ist die übliche Schreibweise. Wenn Du allerdings in Deinem Such- oder Ersetzungsstring selber den / verwendest, musst Du ihn maskieren, damit er nicht als Begrenzer des s/// gewertet wird: Code: (dl
)
s/\/my\/path/\/my\/new\/path/; Das ist unübersichtlicher als: Code: (dl
)
s#/my/path#/my/new/path#; # ist also einfach nur ein anderer Begrenzer als das /. Du kannst auch Klammerungen als Begrenzer nutzen: siehe perlop Abschnitt für: s/PATTERN/REPLACEMENT/egimosx Quote perlretut beinhaltet auch Hinweise auf das Ersetzen des normalen Begrenzers. Suche dort nach "default delimiter". perlrequick bringt auch Hinweise. Such dort auch mal nach "delimiter". meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |