Thread View: de.comp.lang.perl
11 messages
11 total messages
Started by Rolf Buenning
Fri, 02 Aug 2024 08:58
undefined subroutine...<STDIN> line 3
Author: Rolf Buenning
Date: Fri, 02 Aug 2024 08:58
Date: Fri, 02 Aug 2024 08:58
31 lines
1148 bytes
1148 bytes
Hallo Spezialisten ;) vor etwas sehr längerer Zeit haben wir hier schon einmal darüber diskutiert. Ich wollte mir eine Terminverwaltung schreiben. Sie ist inzwischen weit fortgeschritten. Da ich aber mit den hier genannten Datenformaten nicht klar gekommen bin, habe ich mich entschieden, das Datenformat selbst zu verwalten. Ein Termin ist einfach ein String, dessen Teile durch "|" getrennt sind. "Titel|Datum(TT.MM.JJJJ)|Wie früh erinnert wird,Anzahl Tage\n" Um auf die einzelnen Teile des Termins zugreifen zu können, habe ich mir eine Sub ausgedacht, getTPart. Sie liefert je nach Parameter aus dem übergebenen Termin die Teile zurück. Auswahl von Terminen u.a. mache ich mit switch(). Beim Ändern von Terminen funktioniert das auch, bis auf den dritten Teil, da bekomme ich die o.g. Fehlermeldung, und ich komme zum Teufel nicht auf den Grund. Vielleicht kann mir jemand, der mehr Ahnung von Perl hat, helfen. case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); Das ist die betr. Codezeile. -- Gruß Rolf
Re: undefined subroutine...<STDIN> line 3
Author: Ulli Horlacher
Date: Fri, 02 Aug 2024 09:21
Date: Fri, 02 Aug 2024 09:21
22 lines
850 bytes
850 bytes
Rolf Buenning <r.buenning@gmx.de> wrote: > Auswahl von Terminen u.a. mache ich mit switch(). switch ist nicht mehr Bestandteil vom Standard-Perl, das solltest du meiden! > den dritten Teil, da bekomme ich die o.g. Fehlermeldung, > und ich komme zum Teufel nicht auf den Grund. > Vielleicht kann mir jemand, der mehr Ahnung von Perl > hat, helfen. > > case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); > $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); Du hast getTpart() nicht definiert. -- Ullrich Horlacher Server und Virtualisierung Rechenzentrum TIK Universitaet Stuttgart E-Mail: horlacher@tik.uni-stuttgart.de Allmandring 30a Tel: ++49-711-68565868 70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Re: undefined subroutine...<STDIN> line 3
Author: Rolf Buenning
Date: Fri, 02 Aug 2024 10:08
Date: Fri, 02 Aug 2024 10:08
28 lines
930 bytes
930 bytes
Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: > Rolf Buenning <r.buenning@gmx.de> wrote: > >> Auswahl von Terminen u.a. mache ich mit switch(). > > switch ist nicht mehr Bestandteil vom Standard-Perl, das solltest du meiden! Ja, aber ich mache das ja nur für mich. Ich will ja nichts veröffentlichrn o. so, und unendliche if/elsif etc. fand ich auch nicht so prickelnd. > > >> den dritten Teil, da bekomme ich die o.g. Fehlermeldung, >> und ich komme zum Teufel nicht auf den Grund. >> Vielleicht kann mir jemand, der mehr Ahnung von Perl >> hat, helfen. >> >> case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); >> $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); > > Du hast getTpart() nicht definiert. > Sie ist definitiv definiert, vorher, bei Titel und Datum funktioniert es ja, nur bei dieser einen Zeile eben nicht. -- Gruß Rolf
Re: undefined subroutine...<STDIN> line 3
Author: Ulli Horlacher
Date: Fri, 02 Aug 2024 10:23
Date: Fri, 02 Aug 2024 10:23
32 lines
1204 bytes
1204 bytes
Rolf Buenning <r.buenning@gmx.de> wrote: > Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: >> Rolf Buenning <r.buenning@gmx.de> wrote: >> >>> Auswahl von Terminen u.a. mache ich mit switch(). >> >> switch ist nicht mehr Bestandteil vom Standard-Perl, das solltest du meiden! > > Ja, aber ich mache das ja nur für mich. Ich will ja nichts > veröffentlichrn o. so, und unendliche if/elsif etc. fand ich auch nicht > so prickelnd. Wenn du aber ein Perl update einspielst, kann es sein, dass dein Code nicht mehr funktioniert! >>> case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); >>> $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); >> >> Du hast getTpart() nicht definiert. >> > Sie ist definitiv definiert, vorher, bei Titel und Datum funktioniert > es ja, nur bei dieser einen Zeile eben nicht. Wie lautet die Fehlermneldung EXAKT? -- Ullrich Horlacher Server und Virtualisierung Rechenzentrum TIK Universitaet Stuttgart E-Mail: horlacher@tik.uni-stuttgart.de Allmandring 30a Tel: ++49-711-68565868 70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Re: undefined subroutine...<STDIN> line 3
Author: Rolf Buenning
Date: Fri, 02 Aug 2024 10:57
Date: Fri, 02 Aug 2024 10:57
25 lines
784 bytes
784 bytes
Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: > Rolf Buenning <r.buenning@gmx.de> wrote: >> Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: >>> Rolf Buenning <r.buenning@gmx.de> wrote: >>> > > >>>> case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); >>>> $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); >>> >>> Du hast getTpart() nicht definiert. >>> >> Sie ist definitiv definiert, vorher, bei Titel und Datum funktioniert >> es ja, nur bei dieser einen Zeile eben nicht. > > Wie lautet die Fehlermneldung EXAKT? > > Wie es im Subjekt steht. Undefined subroutine &main::getTpart called at ./Termine line 279, <STDIN> line 3. Besonders das "<STDIN> line 3" erstaunt mich. -- Gruß Rolf
Re: undefined subroutine...<STDIN> line 3
Author: Rolf Buenning
Date: Fri, 02 Aug 2024 11:08
Date: Fri, 02 Aug 2024 11:08
18 lines
712 bytes
712 bytes
Marcel Logen <333200007110-0201@ybtra.de> schrieb: > Rolf Buenning in de.comp.lang.perl: > >>habe ich mir eine Sub ausgedacht, getTPart. > ^ > [...] > >> case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); >> $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); > ^ ^ > Liegt es vielleicht an dem kleinen p? > GRRRRR! Asche auf mein Haupt! Wie ist sowas möglich? Tagelang, wenn nicht gar wochenlang, starre ich auf diese Zeile und sehe das nicht! Natürlich lag es daran. Danke für das Entfernen der Tomaten von meinen Augen. -- Gruß Rolf
Re: undefined subroutine...<STDIN> line 3
Author: Rolf Buenning
Date: Fri, 02 Aug 2024 11:16
Date: Fri, 02 Aug 2024 11:16
14 lines
444 bytes
444 bytes
Marcel Logen <333200007110-0201@ybtra.de> schrieb: > Rolf Buenning in de.comp.lang.perl: >>Undefined subroutine &main::getTpart called at ./Termine line 279, <STDIN> line 3. >> >>Besonders das "<STDIN> line 3" erstaunt mich. > > Vermutlich: > > <STDIN> line 1 = Eingabe von "Titel" > <STDIN> line 2 = Eingabe von "Datum" > <STDIN> line 3 = Eingabe von "Tage" Ja, so wird's sein, darüber nachgedacht habe ich auch schon. -- Gruß Rolf
Re: undefined subroutine...<STDIN> line 3
Author: Marcel Logen
Date: Fri, 02 Aug 2024 12:27
Date: Fri, 02 Aug 2024 12:27
16 lines
1061 bytes
1061 bytes
Rolf Buenning in de.comp.lang.perl: >habe ich mir eine Sub ausgedacht, getTPart. ^ [...] > case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); > $newrecord = join ('|', getTpart($records[$rwahl],"T"), getTpart($records[$rwahl],"F"), $newe); ^ ^ Liegt es vielleicht an dem kleinen p? Marcel met5 (736165) -- ╭───────╮ ╭───╮ ╭───╮ ╭──╮ ╭─╮ ╭─────── ╰────╮ │ ╰─╮ ╰──╯ ╰─╯ ╰─╮ │ │ ╰───╮ ──╮ ╭─╮ ╭─────╯ ╰─╮ ╭──╮ ╭───╯ ╭───────╯ │ │ ╭──╯ ╰──────────╯ ╰─╯ ╰─╯ ╰───╯ ╰─────────╯ ╰───╯306991
Re: undefined subroutine...<STDIN> line 3
Author: Marcel Logen
Date: Fri, 02 Aug 2024 13:04
Date: Fri, 02 Aug 2024 13:04
27 lines
1294 bytes
1294 bytes
Rolf Buenning in de.comp.lang.perl: >Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: >> Rolf Buenning <r.buenning@gmx.de> wrote: >>> Sie ist definitiv definiert, vorher, bei Titel und Datum funktioniert >>> es ja, nur bei dieser einen Zeile eben nicht. >> >> Wie lautet die Fehlermneldung EXAKT? >> >Wie es im Subjekt steht. > >Undefined subroutine &main::getTpart called at ./Termine line 279, <STDIN> line 3. > >Besonders das "<STDIN> line 3" erstaunt mich. Vermutlich: <STDIN> line 1 = Eingabe von "Titel" <STDIN> line 2 = Eingabe von "Datum" <STDIN> line 3 = Eingabe von "Tage" Marcel mg4b (737419) -- ╭────╮ ╭─╮ ╭──────╮ ╭──────────╮ ╭──────╮ ╭──────╯ │ ╭─╮ │ ╰───╯ ╭───╯ ╰───────╮ ╰──╯ ╭───╯ ╭───╯ ╭────────╯ │ │ ╰────╮ ╰───╮ ╭───╮ ╭─╯ ╰─╮ │ ╰────────────╯ ╰────────╯ ╰──╯ ╰─╯ f02524 ╰─────────╮
Re: undefined subroutine...<STDIN> line 3
Author: Rolf Buenning
Date: Fri, 02 Aug 2024 13:22
Date: Fri, 02 Aug 2024 13:22
18 lines
636 bytes
636 bytes
Thomas Dorner <dclp240802.dorner@spamgourmet.com> schrieb: > Rolf Buenning <r.buenning@gmx.de> writes: > >> Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: >>>>> >>>>> Du hast getTpart() nicht definiert. >>>>> >>>> Sie ist definitiv definiert, vorher, bei Titel und Datum funktioniert >>>> es ja, nur bei dieser einen Zeile eben nicht. >>> > Also hatte Ulli in seiner ersten Antwort recht, getTpart ist nicht > (korrekt) definiert oder sichtbar. Natürlich hatte er recht (wie meistens). getTpart war ja auch nicht definiert, musste ja auch mit "P" geschrieben werden. (Ich bin immer noch nicht d#rüber weg!) -- Gruß Rolf
Re: undefined subroutine...<STDIN> line 3
Author: Thomas Dorner
Date: Fri, 02 Aug 2024 14:45
Date: Fri, 02 Aug 2024 14:45
38 lines
1187 bytes
1187 bytes
Rolf Buenning <r.buenning@gmx.de> writes: > Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: >> Rolf Buenning <r.buenning@gmx.de> wrote: >>> Ulli Horlacher <framstag@rus.uni-stuttgart.de> schrieb: >>>> Rolf Buenning <r.buenning@gmx.de> wrote: >>>> >> >> >>>>> case 2 { print "Wieviel Tage voraus erinnern? "; chomp($newe = <STDIN>); >>>>> $newrecord = join ('|', getTpart($records[$rwahl],"T"), >>>>> getTpart($records[$rwahl],"F"), $newe); >>>> >>>> Du hast getTpart() nicht definiert. >>>> >>> Sie ist definitiv definiert, vorher, bei Titel und Datum funktioniert >>> es ja, nur bei dieser einen Zeile eben nicht. >> >> Wie lautet die Fehlermneldung EXAKT? >> >> > Wie es im Subjekt steht. > > Undefined subroutine &main::getTpart called at ./Termine line 279, <STDIN> line 3. Also hatte Ulli in seiner ersten Antwort recht, getTpart ist nicht (korrekt) definiert oder sichtbar. > Besonders das "<STDIN> line 3" erstaunt mich. Die Standardeingabe steht in Zeile 3. Viele Grüße, Thomas PS: Wenn das alles tatsächlich nur eine Zeile ist, solltest Du Deinen Code besser strukturieren. Dann lassen sich auch Fehler leichter finden. -- Adresse gilt nur kurzzeitig!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads