ALWAYS USE STRICT ;-) WAS: Antw: [vienna.pm] habs wohl nicht verstanden :-(

Roland Bauer Roland.Bauer at mediaprint.at
Fri Apr 7 04:40:24 CDT 2000


* * * vienna-pm-list * * *


Hallo,

also ich persoenlich schau zuerst, ob ein Script mit "use strict;"
beginnt ;-)

Manche sind noch strenger und sagen, auch das "-w" muss sein:
#!/usr/bin/perl -w

Aber mit "use strict;" schimpft das Perl schon:

#-----------------
Global symbol "$i" requires explicit package name at p.pl line 18.
Global symbol "@files" requires explicit package name at p.pl line 18.
Execution of p.pl aborted due to compilation errors.
#----------------

Und man kann leichter erkennen, dass bei @files was faul ist:
Es fehlt der Befehl ...
my @files = readdir(DIRHANDLE);

Und vor dem $i ein "my". Denn sonst ist es ja nicht "strict".

Also:
for my $i (@files) { ... }


UND DANN FUNKTIONIERT ES !!  :-))

Larry sagt im Kamel, Seite 528:

"Common Goofs for Novices

The biggest goof of all is forgetting to use the -w switch, which points to
many errors. The second biggest goof is not using use strict when it's appropriate."


Anmerkung von mir:

1) Ohne use strict schaffe ich es fast nie, ein funktionierendes Script zu erzeugen,
da ich mich immer irgendwo vertippe oder was vergesse. Mit use script ist Perl
schlau genug, diese Fehler dann zu erkennen.

2) Das -w ist unter Windows nur dann wirksam, wenn man das Script mit
"perl -w script.pl" aufruft, weil dieser "#!..."-Mechanismus in der ersten Zeile
ignoriert wird. Alternativ kann man aber "use diagnostics;" sagen.


Always use strict ;-)

Schoene Gruesse
Roland

###
You are subscribed to vienna-pm-list as "Roland Bauer" <Roland.Bauer at mediaprint.at>
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list