Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

"," durch "\," erstetzen

0 views
Skip to first unread message

Helmut Schneider

unread,
Sep 22, 2009, 2:17:22 PM9/22/09
to
Hi,

#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

my $text = "2, 1";
$text =~ s/, /\, /g;
print Dumper($text) . "\n";

exit 0;

Wie kann ich das Komma durch *einen* Backslash und ein Komma ersetzen?
Ich hab schon alles, was ich kenne versucht, aber...

Danke und Gruᅵ, Helmut

--
No Swen today, my love has gone away
My mailbox stands for lorn, a symbol of the dawn

Paul Hink

unread,
Sep 22, 2009, 2:57:07 PM9/22/09
to
Helmut Schneider <jump...@gmx.de> wrote:

> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> use Data::Dumper;
>
> my $text = "2, 1";
> $text =~ s/, /\, /g;
> print Dumper($text) . "\n";
>
> exit 0;
>
> Wie kann ich das Komma durch *einen* Backslash und ein Komma ersetzen?

$text =~ s/, /\\, /g;

oder:

$text =~ s', '\, 'g;

> Ich hab schon alles, was ich kenne versucht, aber...

...nicht gepr�ft, was Dumper() eigentlich genau tut:

perl -e 'use Data::Dumper; print Dumper(chr(92));'

Helmut Schneider

unread,
Sep 23, 2009, 5:27:02 AM9/23/09
to
Paul Hink <paul-...@hink.name> wrote:
> Helmut Schneider <jump...@gmx.de> wrote:
>
>> #!/usr/bin/perl
>>
>> use strict;
>> use warnings;
>>
>> use Data::Dumper;
>>
>> my $text = "2, 1";
>> $text =~ s/, /\, /g;
>> print Dumper($text) . "\n";
>>
>> exit 0;
>>
>> Wie kann ich das Komma durch *einen* Backslash und ein Komma ersetzen?
>
> $text =~ s/, /\\, /g;

Nachdem ich das auch versuchte, kann es sein, dass z.B. ein "join" die
Backslashes escaped und damit die Anzahl halbiert?

>> Ich hab schon alles, was ich kenne versucht, aber...
>
> ...nicht gepr�ft, was Dumper() eigentlich genau tut:

Dumper war ein Schnellschusss zu Demonstrationszwecken, das eigentliche
Problem ist Net::LDAP und der Versuch eines Rookies, References of Hashes of
Hashes of Arrays, LDAP und ein "," im distinguishedName zu verheiraten. Da
kann man schonmal den Fokus verlieren - finde ich.

Paul Hink

unread,
Sep 23, 2009, 11:26:34 AM9/23/09
to
Helmut Schneider <jump...@gmx.de> wrote:
> Paul Hink <paul-...@hink.name> wrote:
>> Helmut Schneider <jump...@gmx.de> wrote:

>>> Wie kann ich das Komma durch *einen* Backslash und ein Komma
>>> ersetzen?
>>
>> $text =~ s/, /\\, /g;
>
> Nachdem ich das auch versuchte, kann es sein, dass z.B. ein "join"
> die Backslashes escaped und damit die Anzahl halbiert?

Wie meinen? join() k�mmert sich soweit ich wei� nicht um Escapes. Ich
verstehe deine Frage aber auch nicht wirklich.

Helmut Schneider

unread,
Sep 24, 2009, 6:17:28 AM9/24/09
to
Paul Hink <paul-...@hink.name> wrote:
> Helmut Schneider <jump...@gmx.de> wrote:
>> Paul Hink <paul-...@hink.name> wrote:
>>> Helmut Schneider <jump...@gmx.de> wrote:
>
>>>> Wie kann ich das Komma durch *einen* Backslash und ein Komma
>>>> ersetzen?
>>>
>>> $text =~ s/, /\\, /g;
>>
>> Nachdem ich das auch versuchte, kann es sein, dass z.B. ein "join"
>> die Backslashes escaped und damit die Anzahl halbiert?
>
> Wie meinen? join() k�mmert sich soweit ich wei� nicht um Escapes.

Komisch. Egal, jetzt geht es ja.

Ferry Bolhar

unread,
Oct 22, 2009, 11:23:46 AM10/22/09
to
"Helmut Schneider":

> Nachdem ich das auch versuchte, kann es sein, dass z.B. ein "join" die
> Backslashes escaped und damit die Anzahl halbiert?

Ein Backslash markiert entweder das folgende Zeichen und verleiht ihm eine
besondere Bedeutung (z.B. "\n" - bedeutet nicht Backslash und "n", sondern
Zeilenumbruch), oder er hebt die besondere Bedeutung des ihm folgenden
Zeichens auf (z.B. /\?/ - die besondere Bedeutung des "?" in regul�ren
Ausdr�cken wird aufgehoben).
Um einen Backslash zu erhalten, muss man daher _zwei_ Backslash
hintereinander schreiben - der zweite hebt sozusagen die Funktion des ersten
wieder auf und �brig bleibt _ein_ Backslash.

Das ist �brigens nicht nur in Perl, sondern z.B. auch in den meisten Shells
so.

Und mit join u.� hat das nichts zu tun.

LG, Ferry

--
Ing. Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolh...@wien.gv.at

0 new messages