Moin,
($ausgabe=$text) =~ s/testen/Testen/; #wie wir wissen wird "das Testen" groß geschrieben
($ausgabe=$text) = ~ s/testen/Testen/; # hä, bitte? Was?
"Use of uninitialized value in substitution (s///) at F:\webs\cgi-bin\testprog.pl line 13.",
$_ ist undefiniert.
Außerdem wird noch eine Zahl ausgegeben: 4294967295
= -1 als (unsigned) LongInt
Also: "Was will mir Perl damit sagen?" bzw. was bedeutet diese Zahl?
=~ ist nicht gleich = ~
=~ ist der Bindungsoperator
= ~ sind ein gleichheitszeichen und ein binaeres NOT.
was passiert also?
s/testen/Testen/ versucht, da es "ungebunden" ist, $_ zu bearbeiten.
$_ ist aber undef und so kommt die Fehlermeldung zustande.
Rückgabewert von s/// ist die Anzahl der durchgefuehrten Substiutionen, hier 0 (null).
Binär negiert ist das =-1, bzw. 0xFFFFFFFF.
empfehlenswerte Lektuere:
perldoc perlop
perldoc perlre
Viele Gruesse,
n.d.p.