This page (revision-2) was last changed on 14-Nov-2006 10:16 by MarkusMonderkamp 

This page was created on 03-Oct-2006 21:29 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
2 14-Nov-2006 10:16 3 KB MarkusMonderkamp to previous für JSPWiki mit Thomas' und Peter's Filter
1 03-Oct-2006 21:29 3 KB UnknownAuthor to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.>>
<<
Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an
und entferne diesen Text.

Vielen Dank!

{{{
>>=== Apache verhindert<<
Speichern aus CGI ===
Mein Webserver verweigert das Abspeichern von Perl-Ergebnissen
aus CGIs sowohl in seinem Bereich als auch sonstwo auf der Maschine
Root-Rechte etc habe ich schon geändert. Es liegt irgendwo an der
httpd-config

Roland
roland_balzer@yahoo.de

Vorgehen von Markus Monderkamp

Mit Ausgabe des Rückgabewertes von
'''print system('pwd')'''
verrät httpd, wo er die CGI-Ausgaben hinwirft.
Falls das scheitert, erleichtert bei mir ein
'''use CGI::Carp
qw(<nowiki>fatalsToBrowser</nowiki>)'''
im Skriptkopf die Fehlersuche. HTH

=== unsortierte Pseudofaq-o-matic ===

# Unterschied <b>my <-> our</b>
Variablen-Deklaration ab Pörl 5.6?

;   Erläuterungsversuch:
Mit my erzeuge ich eine nur in der aktuellen Subroutine gültige
lexikalische Variable, die nicht mit Paketangaben qualifiziert
werden kann.
Bei der Erzeugung bereits vorhandene Bezeichner gleichen Namens
werden gesichert
und bei Verlassen des Gültigkeitsbereiches wiederhergestellt.
Mit our dito? Was ist der Nutzen von our?

Antwort von ThomasBayen

Wenn Du '''use strict vars''' benutzt, musst Du bei jeder Benutzung
einer globalen Variable das Package mit angeben. Dies kommt
letztlich daher, dass die Benutzung von globalen Variablen geächtet
werden soll. Allerdings gibt es auch wichtige Gründe, globale
Variablen zu benutzen, und zwar immer dann, wenn mehrere
Subroutinen auf gemeinsame Daten zugreifen. Diese Daten gehören
dann diesen Routinen zusammen. Deshalb deklariert man sie mit
'''our''' (das sind _unsere_ Daten und nicht _meine_ wie bei
'''my''').

Jetzt wirst Du immer noch sagen: Das kann ich auch mit '''my'''.
Der Unterschied ist, dass '''our''' echte globale Variablen erzeugt
und nicht bei jedem Aufruf eine neue lokale. Der Inhalt der
Variablen ist also persistent auch bei mehreren Aufrufen. Schau Dir
mal dieses Beispiel an:

 perl -e 'sub a{our $b;$b=not $b; print $b?"1":"0"};a;a;a;a;a;a;'

credits von MarkusMonderkamp:

Danke, nettes Beispiel. Mit "..(my $b;.." und meinem Perl prior 5.6
sehe ich nur Einsen.
Zeit zum Upgraden meines uralten Debian-Hobels(Potato).
----
Bernd Dulfer:

Ohne als Klugscheißer dastehen zu wollen, aber die Variablen
<b>$a</b> und <b>$b</b> sollte man
ausschließlich in subs für Sortierung verwenden.

Für alle, die eine Erklärung auch auf Englisch verkraften, gibt's
bei den Perl Monks ein Tutorial zu dem Thema:
href=http://www.perlmonks.org/index.pl?node_id=105446

''<Klugscheiss>Und wo bitteschön habe ich $a
benutzt?!?</Klugscheiss> - ThomasBayen''

Bemerkung von Markus Monderkamp:

>>> Danke. Für mich war der Einwurf nicht kleinkariert -
ich habe nun zumindest gelernt,
dass '''our''' nicht nur als Global-Ersatz für '''my''' dient.
<<<
----
     Frage von Markus: Wofür steht das Four Letter Acronym ACME in
z.B. ACME::Bleach?
     Antwort: http://www.acme.com/what_is_acme.html
----
     Frage: Schreibstil für Perl-CGI unter usemod-wiki?
MarkusMonderkamp
     Antwort: Hier finde ich die ''[[aktuellen]]''
[http://www.usemod.com/cgi-bin/wiki.pl?TextFormattingRules
Wiki-Syntaxregeln].
----
<<}}}