Mailinglist Archive: opensuse-de (4986 mails)

< Previous Next >
Re: Perl Skripte aufrufen
  • From: weissel@xxxxxxxxxxxxx (Wolfgang Weisselberg)
  • Date: Tue Aug 22 23:10:26 2000
  • Message-id: <20000823011026.B20839@xxxxxxxxxxxxxxxxxxxxx>



Marco Dieckhoff schrieb in 1,7K (46 Zeilen):
From: "Michael Baumeister" <m.baumeister@xxxxxx>

Zumindest fuer die Entwicklungsphase wird das -w in der Fach-Literatur
meiner Kenntnis nach auch meistens empfohlen (in Verbindung mit "use
strict")

man perl

[...]
BUGS
The -w switch is not mandatory.
[...]

Zu deutsch: Dass -w ueberhaupt als Schalter existiert und
nicht fest eingebaut ist, ist ein BUG. In der Manpage wird
6(!) mal gesagt, dass man -w zu benutzen hat.

Natürlich. Aber ich benutze zum Beispiel oft mal Daten-Perlscripts nur mit
Variablendefinitionen (z.B. $SENDMAIL = "/usr/sbin/sendmail";). Wenn ich
diese dann per require einbinde und das Skript mit -w starte erhalte ich
(z.B.) die Meldung "$SENDMAIL only used once"... Das steht natürlich gleich
am Anfang, wo ein CGI-Skript eigentlich "Content-type: ..." abliefern sollte
und von daher hab ich 'nen 500-Error am Hals.

perldoc vars

ist die eine Antwort. Die andere ist:

$SENDMAIL = "/usr/sbin/sendmail";
[...]
if (0) {
$SENDMAIL;
[...]
};

Und schon ist -w zufrieden. Im uebrigen verwendest du kein
"use strict", das ist ein Fehler(tm). Dann musst du naemlich
eines von:
my $sendmail;
local $::Sendmail;
$::SENDMAIL;
verwenden, je nach Scope (daher auch die unterschiedliche
Schreibweise). Natuerlich kannst du auch $main::SENDMAIL
sagen, wenn du die Package "main" explizit nennen willst.

Wenn deine Scripte mit "use strict" und "-w" Fehler produziert,
dann ist es einfach noch nicht sauber. Wenn du WIRKLICH
EXPIZIT Teile davon abschalten musst, kannst du das sehr lokal
und gezielt machen. (perldoc strict, perldoc perlvar).

-Wolfgang

---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx

< Previous Next >
References