Schrift
[thread]5984[/thread]

Frage zu s/$1/$2/i;: klappt irgendwie nicht



<< >> 3 Einträge, 1 Seite
blackm
 2003-12-27 02:04
#76956 #76956
User since
2003-09-22
10 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

ich hab folgenden Code
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#! /usr/bin/perl 

use strict;

my $s = 'aw --> Re ';
my $subject = 'AW: Das AW ist AW nun AW mal AW eine AW Antwort :-)';

$s =~ /([^ ]*) *--> *([^ ]*)/;

print "1: \'$1\'\n";
print "2: \'$2\'\n";

print "$subject\n";

$subject =~ s/$1/$2/i;

print "$subject\n";
Leider klappt das aber nicht so ganz. Es wird mir ausgegeben, das in $2 Re drin ist so wie ich es erwartet hab, aber es wird nicht anstelle vom (ersten) AW eingefuegt (es ist nix ersetzt, nur das AW entfernt).

Weiss jemand Rat?

by, Martin
jan
 2003-12-27 02:26
#76957 #76957
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich schätze, $2 wird beim ausführen des neuen regexp (s///) neu initialisiert.
mach's doch einfach (quick 'n dirty) so:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
#! /usr/bin/perl 
use strict;
my $s = 'aw --> Re ';
my $subject = 'AW: Das AW ist AW nun AW mal AW eine AW Antwort :-)';
$s =~ /([^ ]*) *--> *([^ ]*)/;
my $what = $1;
my $by = $2;
print "$subject\n";
$subject =~ s/$what/$by/i;
print "$subject\n";
blackm
 2003-12-27 10:18
#76958 #76958
User since
2003-09-22
10 Artikel
BenutzerIn
[Homepage] [default_avatar]
1a! So geht es. Danke! :)
<< >> 3 Einträge, 1 Seite



View all threads created 2003-12-27 02:04.