![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 08.02.2000
Beiträge: 1.696
|
![]() Hallo! Ich habe ein absolut dringendes Perl-Problem, ich komme einfach nimma weiter...
![]() Auf http://www.xdream.cc/cgi-bin/homanto/homanto.pl bekomme ich immer einen ominösen Fehler, bei mir am eigenen Server (Apache auf dem lokalen Rechner) funkt aber alles... das gibt es doch nicht?!?! Der Code: Code:
open ... öffne file my @data = <FILE>; lese daten close ... schließe file wieder my $c = scalar(@data) - 1; for ( 0 .. $c ) { für jedes gelesene Element... my $tmp = $data[$_]; ... leerzeilen etc. filtern... my @dbset = split(/\|/, $tmp); aufteilen (|) if($dbset[0] eq ... && ...) { wenn ... ... delete $data[$_]; Zeile 83... hier sollte der ganze Datensatz (sprich die ganze Zeile) gelöscht werden... last; und raus } Nur regt sich das Programm schon auf, bevor ich was ausführe und das Programm sollte da gar nicht reingehen, wenn ich keine Parameter angebe... ![]() kann mir da wer helfen??
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you. |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() IMHO wird $_ irgendwo in Deinem Sourcecode überschrieben und repräsentiert daher nicht mehr Deinen Index.
Lösung: Nutz eine explizite Variable als Index. Z.B.: for my $idx ( 0 .. $c ) { my $tmp = $data[$idx]; .... delete $data[$idx]; ...
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 08.02.2000
Beiträge: 1.696
|
![]() Hallo _mp3!
Ich habe den Code gerade ausgebessert und hinaufgeladen (mit $idx usw.), jetzt wird nirgens mehr $_ verwendet. Noch immer der gleiche Fehler... ![]() Trotzdem thx.!
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you. |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 08.02.2000
Beiträge: 1.696
|
![]() Noch was is mir gerade eingefallen: warum funkts dann bei mir lokal???
Kapier ich nicht...
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you. |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Was sagt denn ein
print $^V; ??? BTW: my $c = scalar(@data) - 1; for ( 0 .. $c ) { lässt sich eleganter als for ( 0 .. $#data ) { schreiben ![]()
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
#6 | |
Inventar
![]() Registriert seit: 27.02.2001
Beiträge: 1.967
|
![]() Hi!
Sucht's ihr eh im richtigen script? Zitat:
Poste halt einen Abschnitt aus user.pl. Grüße Manx |
|
![]() |
![]() |
![]() |
#7 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Ach Du Sch......
Klassischer Fall von Betriebsblind! [Hut zieh vor MANX]
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
#8 |
Inventar
![]() Registriert seit: 08.02.2000
Beiträge: 1.696
|
![]() Hallo!
Der erste Fehler war auf Zeile 83 in events.pl. Nachdem anscheinend $_ verändert wurde, hat das einführen einer Zählvariable $idx funktioniert. Anschließend hat eine ähnliche Routine in user.pl auf Zeile 183 nicht funktioniert :-( Heute in der Vorlesung hab ich Zeit gehabt, mir das ganze auf dem Psion anzusehen: laut Dokumentation ist die Funktion delete nur für Hashes anwendbar, für Arrays ist splice zu verwenden (splice array, offset, length, list). Bin gerade am Uploaden, hoffentlich funkt es jetzt! Auf jeden Fall danke!
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you. |
![]() |
![]() |
![]() |
#9 | |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Funkt. auch mit Arrays:
Zitat:
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
|
![]() |
![]() |
![]() |
#10 |
Inventar
![]() Registriert seit: 08.02.2000
Beiträge: 1.696
|
![]() @_mp3: ich weiß, auf meinem lokalen Rechner funkt es auch mit Arrays, aber auf meinem Provider anscheinend nicht. Mit splice funkt aber alles einwandfrei. Nur die Bilder muss ich noch uploaden, dann ist der Testbetrieb von HoManTo aufgenommen!
Danke auf jeden Fall für die Hilfe! PS: mit obigen Link wird man auf die Homepage weitergeleitet, um HoManTo zu sehen, bitte !hier klicken ![]()
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|