Ed X: Was passiert bei diesem fehlehftem Substitutionsbefehl?

Beitrag lesen

Hi Folks,

ein kleines perl (Verständnisproblem)Problem!

Etwas Quellcode:

<-------- schnipp --------------->
#!c:/perl/bin/perl.exe -w

$text = 'Ein kleiner Testtext natuerlich nur zum testen.';

#print "Content-type: text/html\n\n";
#print "<html>\n<head>\n<title>Ein Titelchen</title>\n</head>\n<body>\n";
print "$text\n<br>\n";

($ausgabe=$text) =~ s/testen/Testen/;    #wie wir wissen wird "das Testen" groß geschrieben
    print "$ausgabe\n<br>\n";

($ausgabe=$text) = ~ s/testen/Testen/;     # hä, bitte?  Was?
    print "$ausgabe\n<br>\n";

print "</body></html>\n";
<-------- schnapp --------------->

Die Substitutionsanweisung mit einem space zwischen dem Matcher und dem Gleichheitszeichen bewirkt die Fehlerausgabe:"Use of uninitialized value in substitution (s///) at F:\webs\cgi-bin\testprog.pl line 13.", Soweit, So gut, So richtig bzw. falsch.

Außerdem wird noch eine Zahl ausgegeben: 4294967295
Trotz längerem Nachgrübelns bin ich nicht dahintergestiegen, was sie bedeutet.

Also: "Was will mir Perl damit sagen?" bzw. was bedeutet diese Zahl?

Bye Ed X