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

Backslash in split() erzeugt Fehler: split("\\", $str)

Leser: 1


<< >> 7 Einträge, 1 Seite
pktm
 2005-04-05 01:16
#53239 #53239
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Folgender
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/Perl/bin/perl

use strict;
use warnings;

my $str = q~
22\728.JPG
~;

my @str = split("\\", $str);
print join("\n",@str);

produziert den Fehler
Quote
Trailing \ in regex m/\/ at test.pl line 11.


Line 11 ist die letzte Zeile.

Wie kann ich es anstellen, dass ein beliebiger String beim / gesplittet wird ohne dass ich vorher den Backslash substituieren muss?

mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Froschpopo
 2005-04-05 01:19
#53240 #53240
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
muss das nicht split (/\\/... heißen ?\n\n

<!--EDIT|Froschpopo|1112649571-->
esskar
 2005-04-05 01:20
#53241 #53241
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ne...
Code: (dl )
1
2
3
4
my $str = q~
22\\728.JPG
~;
split /\\/, $str;
\n\n

<!--EDIT|esskar|1112649727-->
Froschpopo
 2005-04-05 01:23
#53242 #53242
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
wie ne, is doch dasselbe
pktm
 2005-04-05 01:49
#53243 #53243
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=esskar,04.04.2005, 23:20]ne...
Code: (dl )
1
2
3
4
my $str = q~
22\\728.JPG
~;
split /\\/, $str;
[/quote]
Wieso?
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2005-04-05 02:59
#53244 #53244
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du musst den \ immer escapen; also \\ schreiben
wenn du \7 schreibst, ist das nämlich das selbe wie chr(7)

wenn man \\ in verbindung mit split benutzt, muss man wohl einen delimiter ungleich " benutzen; den genauen grund kenn ich jetzt auch nicht!\n\n

<!--EDIT|esskar|1112655575-->
Taulmarill
 2005-04-05 12:13
#53245 #53245
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
alles, was man als erstes attribut an split übergibt, wir in einen regex gewandelt. wenn man jetzt "\\" angibt, wird das erst in den string \ gewandelt, was dann zu dem regex /\/ gebaut wird.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< >> 7 Einträge, 1 Seite



View all threads created 2005-04-05 01:16.