Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8886[/thread]

Missing right curly or square bracket.

Leser: 1


<< >> 10 Einträge, 1 Seite
GoodFella
 2007-03-28 20:36
#75485 #75485
User since
2007-01-09
192 Artikel
BenutzerIn
[default_avatar]
Ich hab http://groups.google.de/group....1df6706 schon durch, und ich weiss, dass es daran liegt, dass mein Script so riesig geworden ist, ich es besser in Teile splitten sollte. Naja. Leider ein bischen zu spät. Ich habe heute an diversen Stellen meines 3800 Zeilen-Scriptes bestimmt an die 400 Zeilen Code eingefügt, ohne die Lauffähigkeit zu testen. _Fehler_. Hier die Fehlermeldung:

Quote
---------- Perl ----------
Missing right curly or square bracket at mmc.pl line 3799, at end of line
syntax error at mmc.pl line 3799, at EOF
Execution of mmc.pl aborted due to compilation errors.

Output completed (1 sec consumed) - Normal Termination


Die Frage ist: Gibt es eine einfache und schnelle Möglichkeit, die Kandidaten im Code angezeigt zu bekommen, die das Problem auslösen?
Bin schon alle Codeparts, die ich verändert habe, durch, erfolglos.
pktm
 2007-03-28 20:41
#75486 #75486
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Auskommentieren bis der Fehler nicht mehr aufritt und dann sukzessiv wieder entkommentieren. Was anderes wüsste ich im MOment nicht.
http://www.intergastro-service.de (mein erstes CMS :) )
renee
 2007-03-28 20:55
#75487 #75487
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du einen Editor mit Syntaxhighlighting hast, dann schau Dir die Klammerpaare an...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
GoodFella
 2007-03-29 03:01
#75488 #75488
User since
2007-01-09
192 Artikel
BenutzerIn
[default_avatar]
@pktm: Die Harcore-Methode war mir bekannt.. läuft wohl darauf hinaus :( (siehe hier: http://www.buha.info/board/showthread.php?t=5846 ..war mal Mod des Perlforums da.. peinlich, peinlich, was man so in alten Beiträgen von vor 6 Jahren liest ^^)

@renee: Wenn ich ans Ende der Datei eine } setze, dann highlighted er die { von sub process, einer 2000 Zeilen langen sub ^^ .. bringt nicht wirklich etwas, weil ich nur gaaanz innerhalb davon Code verändert habe.. oder möglicherweise komme ich jetzt auf kein Ausschluss-system, wie mir das Syntaxhighlighting weiterhelfen könnte...\n\n

<!--EDIT|GoodFella|1175123219-->
pktm
 2007-03-29 11:09
#75489 #75489
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Deklarierst du irgendwo Datenstrukturen oder RegEx? Da habe ich sowas schon öfter gefunden.
Nach Strings frage ich besser nicht... :-)
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2007-03-29 12:19
#75490 #75490
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=GoodFella,29.03.2007, 01:01]@renee: Wenn ich ans Ende der Datei eine } setze, dann highlighted er die { von sub process, einer 2000 Zeilen langen sub[/quote]
allein das hört sich an, als würdest du mit einer aufsplittung der 2000
zeilen schon eine menge ärger einsparen. perl best practices schlägt z.b.
24 zeilen im schnitt pro subroutine vor, also das, was in ein terminal-
fenster passt. das ist oft zu wenig für meinen geschmack, aber wenn
ich code übernehmen müsste, der 2000 zeilen für eine subroutine braucht,
würde ich glaube ich zur psychopathin werden (siehe auch meine signatur)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
docsnyder
 2007-03-29 13:11
#75491 #75491
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wow, 2000 Zeilen für eine sub!!!

Was ist denn das für ein Stil?

Es kann mir niemand erzählen, dass man das nicht in mehrere (sinnvolle) subs (=subtasks) aufteilen kann.

Gruss, Doc
GoodFella
 2007-03-29 16:15
#75492 #75492
User since
2007-01-09
192 Artikel
BenutzerIn
[default_avatar]
Nunja, ich hatte das Aufteilen vor.. aber dann sollte es schnell gehen und ich habs vor mir hergeschoben... naja.. aus Fehlern lernt man.
Wobei angemerkt sei, dass von den 2000 Zeilen bestimmt 700-1000 Kommentarzeilen dabei sind.

Bin auf dem richtigen Weg:
Habe den Teil rauskopiert, den ich editiert hatte, hab alle Kommentarzeilen entfernt, das Teil als Datei gespeichert und das folgende script drüber gejagt:
Quote
C:\>perl -e "open F, 'check.txt'; $c=0; $s=0; for (<F>) {$c += $_ =~ tr/}/}/; $s
+= $_ =~ tr/{/{/; } close F; print 'starts: '.$s.',   closes: '.$c;"
starts: 350,   closes: 349
C:\>


..Das reduziert das ganze natürlich :)=

(ändert aber nichts daran, dass ich mir demnächst mal in den Arsch treten muss, das Teil sinnvoll zu splitten)

[edit]
hab immer einen sinnvollen block gelöscht und dann wieder das Script drübergejagt.. hat funktioniert, hab die fehlende klammer :DDD\n\n

<!--EDIT|GoodFella|1175182439-->
ptk
 2007-03-30 01:25
#75493 #75493
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
In den Emacs laden, indent-region oder indent-buffer aufrufen und schauen, ab wo es nicht mehr stimmt.
renee
 2007-03-30 10:58
#75494 #75494
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nur ein Hinweis nebenbei: Beim Zählen von Zeichen mit tr/// brauchst Du im Ersetzungsteil nichts eintragen. Es reicht ein tr/{//. Keine Angst, da wird nichts gelöscht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 10 Einträge, 1 Seite



View all threads created 2007-03-28 20:36.