Peter-W: use CGI ????

Moin,
ich habe ein Perl-Script, das ich (als Neuling) abändern möchte.
Jetzt habe ich in zwei Beispielen die Angaben

use CGI;
use CGI::Carp qw(fatalsToBrowser);

bzw.

use CGI qw/:standard/;
use CGI::Carp qw(fatalsToBrowser);

gefunden.
Wenn ich die erste Variante verwende, erhalte ich die Meldung

Undefined subroutine &main::param called at test.pl line 104.
BEGIN failed--compilation aborted at test.pl line 240.

In der zweiten Version kommt diese Meldung nicht.

Kann mir jemand den prinzipiellen Unterschied bzw. die Bedeutung
von qw/:standard/erläutern ?

  1. Kann mir jemand den prinzipiellen Unterschied bzw. die Bedeutung
    von qw/:standard/erläutern ?

    Ja die Doku zum Modul oder bei  selhtml

    ich bevorzuge die dritte Variante:

    use CGI;

    und dann den Zugriff über z.b.: CGI::param('xxx');

    damit "verschmutzt" du nicht deinen Namensraum mit den Funktionen des CGI Moduls und du brauchst kein Objekt (zumal es eigentlich immer nur ein CGI Objekt gibt) und du lädst nur die Funktionen die nötig sind (Das Modul benutzt einen Mechanismus, der nur bei Bedarf Funktionen lädt), zusätzlich erkennnst du sofort durch das "CGI::" was für eine Funktion du ansprichst.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hi,

      selhtml

      HTML ist Open Source, das kann man nicht verkaufen. Außerdem hast Du ein "l" vergessen.

      Cheatah, SCNR

      P.S.:

      und dann den Zugriff über z.b.: CGI::param('xxx');

      Man kann IIRC auch nur die Methode param() global einbinden.

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. selhtml

        HTML ist Open Source, das kann man nicht verkaufen. Außerdem hast Du ein "l" vergessen.

        stimmt, sorry.

        und dann den Zugriff über z.b.: CGI::param('xxx');
        Man kann IIRC auch nur die Methode param() global einbinden.

        Mit global meinst du im Modul, ja:
        use CGI qw/param/;

        aber wie beschrieben, mir gefällt das weniger.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
  2. Hell-O!

    Kann mir jemand den prinzipiellen Unterschied bzw. die Bedeutung von qw/:standard/erläutern?

    SELFHTML: Erweiterte Verwendung von use
    Doku zu CGI.pm: Using the function-orientated interface

    Siechfred

    --
    Hier könnte Ihre Werbung stehen.
    Dark Millennium || Die neue 1%-Regelung