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

Man Page für das CGI-Modul



<< >> 9 Einträge, 1 Seite
docsnyder
 2006-09-21 15:39
#8713 #8713
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallöle!

Wer kann mir sagen, wo ich "ausführliche" Man Pages für das CGI-Modul bekommen kann. Ich habe bisher keine Doku finden können, in der "alle" Methoden/Funktionen beschrieben sind.

Konkret: Text höher- bzw. tieferstellen, geht in HTML mit <sup> bzw <sub>. Die entsprechenden Funktionen heissen im CGI-Modul in der Regel so wie die Tags, also z.B. sup(), um ein <sup> zu erzeugen. Leider weiss ich nicht, wie die zu <sub> gehörige Funktion heisst, denn sub() kann sie nicht heissen: Perl denkt dann, jetzt kommt eine Funktions-Definition :o(

Wer weiss was?

Gruß, Doc
Relais
 2006-09-21 15:44
#8714 #8714
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
perldoc CGI hast Du schon ausprobiert?
man CGI könnte auch funktionieren.

Ansonsten CPAN:CGI

Bei Perl ist das so üblich, daß die Module ihre Dokumentation als POD enthalten, sie sollte nicht fehlen.

Zum sub()-Problemchen: Wie würdest Du vorgehen, wenn Du unbedingt eine sub "sub" nennen müßtest?

Vielleicht sie "Sub()" nennen?
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
docsnyder
 2006-09-21 15:52
#8715 #8715
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@Relais

Danke für die schnelle Info!

Auf "Sub()" hätte man schon kommen können, habe aber so eine Groß-/Kleinschreib-Inkonsistenz bei Perl nicht vermutet. Eher hätte ich vermutet, daß man sich ein anderes Wort sucht. Aber das ist sowieso Geschmackssache ;o)

Gruß, Uwe\n\n

<!--EDIT|docsnyder|1158839602-->
renee
 2006-09-21 16:11
#8716 #8716
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Naja, ich finde das System recht praktisch. Es bleiben alle Namen wie im HTML erhalten. Nur die Methoden, die mit Built-Ins von Perl kollidieren würden (select, tr, sub ...) wurden so umbenannt, dass der erste Buchstabe groß ist. Sehr einfach zu merken!
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/
docsnyder
 2006-09-21 16:18
#8717 #8717
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich find's ja auch sehr einfach zu merken, aber da hätte ich eher noch "alle" Funktionsnamen mit grossem Anfangsbuchstaben benannt (Konsistenzhalber).\n\n

<!--EDIT|docsnyder|1158841180-->
nepos
 2006-09-21 17:50
#8718 #8718
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja, is ja aehnlich bei tr. Das heisst bei CGI dann TR()... aber irgendwie auch nicht konsistent...
Relais
 2006-09-21 23:16
#8719 #8719
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=nepos,21.09.2006, 15:50]Naja, is ja aehnlich bei tr. Das heisst bei CGI dann TR()... aber irgendwie auch nicht konsistent...[/quote]
Nee, Tr() ist's. Das Meckern über die angebliche Inkonsistenz nervt mich dabei schon so ein Bißchen.

Ich bin ganz froh darüber, nicht bei allen Methoden oder Subs den ersten Buchstaben groß schreiben zu müssen, sondern nur da, wo es sonst mit Internals kollidiert. Schließlich werden Methoden in Perl nach gutem Stil gewöhnlich klein geschrieben, wenn es keine Guten Gründe dagegen gibt. Na und daran habe ich mich schon über die Jahre angewöhnt.

Dadurch, daß man also auf des CPAN:CGI-Modul bezogen eine Konsistenz gewönne, verlöre man sie dann zur restlichen Code-Base.

Und die Macher von CGI gingen durchaus nicht davon aus, daß die Anwender die HTML-Funktion für gewöhnlich verwenden würden. Sie sind ein Teil des Fliewatüts CGI.pm

Selbstverständlich könnte man auch Perls sub()-Biultin-Funktion mit einer eigenen überschreiben und aus dem Kontext herausfiltern, was der User oder Programmierer wohl meinen möchte. (und analog mit tr()) Warum also wurde das nicht gemacht? =)
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
docsnyder
 2006-09-22 01:35
#8720 #8720
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@Relais

Ich bin mit Dir d'accord!

Nur: Zitat: "wenn es keine Guten Gründe dagegen gibt." ... es gibt gute Günde dagegen: "Konsistenz"

Daß das nicht immer einzuhalten ist, das verstehe ich ja, und daß Perl da pragmatische Wege geht ist auch alles O.K., ich begrüsse es , bin ich ja selbst ein Pragmatiker.

Hey Relais: wollte Dich nicht verletzen, genauso wie ich mich nicht angegriffen fühle. Aber, hör mal: Konsistenz ist, wenn auch nicht immer zu verwirklichen, doch immer ein oberstes Prinzip, oder etwa nicht? Wenns begründet darüber hinweggeht, kann man darüber reden, und genau dazu ist ein Forum da. Aber die Wünsche nach Konsistemz, selbst wenn's im Einzelfall nicht verwirklichbar ist, ist doch als "begehrenswerter Anspruch" zu rühmen, oder?

Mehr will ich garnicht sagen!

Gruß, Doc\n\n

<!--EDIT|docsnyder|1158874933-->
Strat
 2006-09-23 14:56
#8721 #8721
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
um solche probleme zu vermeiden, verwende ich fast immer ein templating system wie z.B. CPAN:HTML::Template::Compiled.

Wenn ich mal HTML direkt im CGI-Script ausgeben lasse, verwende ich immer die OOP-Schreibweise, z.B.
Code: (dl )
1
2
3
4
5
use CGI (); # no namespace pollution!
my $cgi = CGI->new();
print $cgi->header(), $cgi->start_html('titel');
print $cgi->Sub('test');
print $cgi->end_html();

ist zwar ein wenig mehr an tippaufwand, aber der rentiert sich oft bei der Fehlersuche
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 9 Einträge, 1 Seite



View all threads created 2006-09-21 15:39.