Hurra, habe ich verstanden, für das \s* könnte aber \s+ stehen, oder?
Nein <!--xyz--> ist ein valider HTML Kommentar
Habe ich es doch nicht verstanden? Muss da ein Kommentar stehen, der ersetzt wird?Ich dachte jetzt so:
$htmlout .= "YXCVB"; # wobei YXCVB sonst nicht in $htmlout vorkommt
$htmlout =~ s/YXCVB/somepackage::somemod()/e;
schon OK, aber da du hier hmloutput produzierst, könnte das Template wohl Anker enthalten, die nicht ersetzt werden.
my $bodytemplate = <<"TEMPLATE";
<body>
<!--InsertHeader-->
<!--InsertNavi-->
<!--InsertBody-->
<!--InsertSidebar-->
<!--InsertFooter-->
<!--InsertDebugMessage-->
</body>
TEMPLATE
Deshalb verwende ich HTML Kommentare als Platzhalter.
Falls eine Ersetzung nicht stattfindet, schadet es dem Ergebnis nicht.
warn("Modul XY Zeile ".__LINE__." Meine Errormessage ");
Wieder was gelernt (warn schreibt in die errorlog!)
Es ist der informative Brider von die().
Du solltest dir aber klar sein,
-- was sind fatale Fehler. -> die()
-- was sind Datenfehler aufgrund mangelhafter Daten -> warn()
package main;
$var =~ s/x/some::func()/e;
$ERR and ... # hier rufe deinen Fehlerreporter auf.Aber was macht
$var =~ s/x/some::func()/e;
Es sucht nach einem x und ersetzt dieses durch den return von some::func()
Setze für x den geeigneten platzhalter ein.
und ist folgendes ein if-Konstrukt der Art: if ($ERR and ....) {fehlerroutine()}
$ERR and ... # hier rufe deinen Fehlerreporter auf.
1==1 and print "1 ist 1";
1==0 and print "Wenn ich drucke, ist die IT Welt kaputt";
1==1 or print "Die IT-Welt ist kaputt!";
1==1 and 1==0 and print "alles ist kaputt!";
1==0 or 1==1 and print "1 ist 1, was denn sonst";
and bindet enger als or.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische