Leser: 3
![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
#!/usr/bin/perl use strict; use warnings; use CGI qw(-no_xhtml); use CGI::Carp qw(fatalsToBrowser); my $cgi = new CGI; print $cgi->header(); print $cgi->start_html(-title=>'Vokabeltrainer'); my $teste = eingabe_menue(); print $cgi->p($cgi->b("Eingabe ist: $teste")) if $teste; print $cgi->end_html; sub eingabe_menue { my $url = $cgi->url; # Nur zum Testen! #my $url = 'http://127.0.0.1/cgi-bin/cgi/woerterbuch3.pl'; print $cgi->p( [ 'Vokabeltrainer', '**************', 'Menue', '1 Vokabeln eingeben', '2 Englisch - Deutsch', '3 Deutsch - Englisch', '4 Programmende' ] ), $cgi->start_form(-action=>$url), $cgi->p('Auswahl:'), $cgi->textfield(-name=>'eingabe', -value=>'', -size=>1), $cgi->submit(-name=>'submit', value=>'Abschicken'), $cgi->endform, $cgi->p(''); my $eing = $cgi->param('eingabe'); return $eing; } 1; $teste = eingabe_menue; if ($teste == 1) { print "eingabe_vokabeln"; } elsif ($teste == 2) { print "englisch_deutsch"; } elsif ($teste == 3) { print "deutsch_englisch"; }
moritz+2009-02-12 20:16:51---w ist "action at a distance" und keine gute Idee. Wenn man ein Modul einsetzt, sollte man dem Autor soweit vertrauen, dass man nicht in sein Modul hereinpfuscht.
Struppi+2009-02-13 00:49:39--Wenn ich an einer Anwendung arbeite, hat diese selten weniger als 20 Dateien und dort ständig use warnings einzubauen wäre mir zu mühsam, ich bevorzuge eine zentrale Stelle. Wenn ich Code zur Laufzeit erzeuge, schalte ich die Warnungen ab. Ich vertraue dem Autor, dass sein Code auch mit -w läuft.
Struppi+2009-02-13 00:49:39--Ich vertraue dem Autor, dass sein Code auch mit -w läuft.
pq+2009-02-13 10:09:50--Doch, vor ca. 10 Jahren habe ich zum letzten mal Warnungen aus einem Modul gesehen, aber seit dem nicht mehr. Weder bei Tk noch bei Webanwendungen. Kannst du mir eines nennen?siehe perldoc perllexwarn, da gibt es einen abschnitt zu -w.
wenn du noch kein modul hattest, das dir mit -w warnungen ausgespuckt hat, hattest du vermutlich
einfach nur glück (oder du benutzt wenig module ;-)
mir ist das schon öfter passiert, und ich will die warnungen einfach nicht sehen.
moritz+2009-02-13 10:16:58--In Webanwendungen ist bei mir $SIG{__WARN__} standardmäßig umgebogen, damit ich diese Ausgabe auch zu sehen bekomme.Struppi+2009-02-13 00:49:39--Ich vertraue dem Autor, dass sein Code auch mit -w läuft.
D.h. du vertraust auf ein undokumentiertes feature? Das is generell keine gute Idee.
Pfuschst du auch in privaten Attributen von fremden Objekten rum? Das faellt in die gleiche Kategorie.
(Uebrigens kann ueber $SIG{__WARN__}-Handler vollkommen anderes Verhalten erfolgen wenn zusaetzliche ungewollte warnungen aktiviert sind, nich nur mehr Warnmeldungen auf STDERR)
Struppi+2009-02-13 10:38:05--Doch, vor ca. 10 Jahren habe ich zum letzten mal Warnungen aus einem Modul gesehen, aber seit dem nicht mehr. Weder bei Tk noch bei Webanwendungen. Kannst du mir eines nennen?
pq+2009-02-13 11:05:36--Was soll ich dazu sagen, mir ist bekannt, dass Editoren Makrofunktionen haben. Notepad++ auch.zu dem aspekt, dass es dir der editor abnehmen kann, die strict/warnings geschichte jedesmal
von hand in ein modul zu schreiben, hast du übrigens noch gar nichts gesagt =)
1 2 3 4 5 6 7 8 9 10 11 12
package myModule; sub new { return bless{}, shift;} sub test { my $self = shift; my $param = shift; return $param * 1; } 1;
1 2 3 4 5 6
#!/usr/bin/perl use warnings; use strict; use myModule; my $o = new myModule; print $o->test();
![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |