Lars: Fehler in Prozedur oder Hile ich bin blind

Beitrag lesen

hi,

erstmal danke fuer eure hilfe, aber leider blicke ich nicht mehr so
ganz durch. also...

#!/path/to/perl -w
use strict;

was genau ist der grund fuer diesen syntax?

open (DATEI>$meine_html) &error($errormsg.$!.')');

open DATEI, ">$meine_html" or die "open DATEI: $!";

ok ok, das komma ist mir abhanden gekommen beim konvertieren von
unix-->dos ;-)  (auch mein windows-konvertier-prog ist nicht ganz
fehlerfrei aber dafuer mir und schoen klein und schnell und mit allem
was ich brauche und will ;-) )

Es ist im Prinzip schon okay, eine eigene Funktion im Fehlerfall aufzurufen; nur sollte diese dann auch die'en. Die Syntax des open-Befehls war natürlich falsch, aber ' &error' darf ruhig stehen bleiben.

sehe ich genauso ;-)

for (0..scalar @lines - 1)

sorry aber was heisst/bedeutet scalar?

while ($_ ne /<!--SCRIPTENDE-->/) {

Du meinst (wahrscheinlich)
while ($_ ne '<!--SCRIPTENDE-->') {

nicht so einfach, wegen returns - funzte bei mir so nicht.

Ich tippe mehr auf
while (!/<!--SCRIPTENDE-->/) {

kommt schon eher hin

Wobei diese ganze $_-Zuweiserei vermutlich eher nachteilig ist:

inwiefern?

for (0..scalar @lines - 1) {
  if ($lines[$_] =~ /.../) {

scriptstart?

while ($lines[$_] !~ /.../) { ... }

scriptende dann ab in die datei?

Hier erhoehst Du den Index ein zweitesmal, d.h. Du ueberspringst

jedesmal eine Zeile.

ist genauso gewollt - hintergedanke wenn ich einfach die zeilen ueberspringe bis $_ scriptende ist, dann duerfte er sie ja nicht mit reinschreiben (zumindest habe ich das aehnlich so frueher in tp7.0 gemacht)

Ich glaube, das ist Absicht - und damit ein wunderbarer Grund, kein for zu benutzen. Setze initial

1. absicht: s.o.  und 2. was ist initial?

my $f = 0;

und benutze dann eine while-Schleife, in der _nur Du_ $f erhöhst.

wie meinst du das? _nur Du_

close (DATEI);

Die war schreibend geöffnet, oder? Dann solltest Du auch hier den Fehlercode mit 'or die' oder von mir aus ' &error' abfangen.

tue ich ja.

ACK :-)

sch... schreibfaulen progammierer ;-) was heisst das?

vielen dank bishierher und ich hoffe ich oute mich nicht zusehr als
perl-neuling ;-)

bye and happy coding Lars