Thread File::Basename durch Reguläre Ausdrücke ersetzen (27 answers)
Opened by Kean at 2013-10-18 16:35

payx
 2013-10-20 21:11
#171344 #171344
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo nepos,

dieses Programm:
Code (perl): (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use strict;
use warnings;

use 5.010;

say 'C:\';

liefert zurück:
Code: (dl )
Can't find string terminator "'" anywhere before EOF at test.pl line 8.


Klartext: Der Backslash escaped den single quote – auch zwischen single quotes. Deshalb muss er am Ende eines Strings ggf. selbst escaped werden.

Mit Windows hat das nur insofern etwas zu tun, als der obige String unter Windows eine typische Pfadangabe ist. Wenn Du beispielsweise 'foo#"?bar~!\' ausgeben wollen würdest, vielleicht ohne dass es ein Windows-Pfad ist, sondern einfach, weil Dir dieser Text aus hier nicht weiter zu erörternden Gründen ausgabewürdig erscheint, müsstest Du den Backslash am Ende auch escapen. Da kann Bill Gates ausnahmsweise nichts dafür.

Grüße
payx

View full thread File::Basename durch Reguläre Ausdrücke ersetzen