Leser: 18
|< 1 2 3 4 >| | 31 Einträge, 4 Seiten |
1
2
3
4
5
6
7
8
#!/usr/bin/perl
use warnings;
use strict;
use lib "d:\\";
use TestModul;
print $TestModul::test;
1
2
3
Global symbol "$test1" requires explicit package name at d:\/TestModul.pm line 5.
Compilation failed in require at D:\TesteModul.pl line 6.
BEGIN failed--compilation aborted at D:\TesteModul.pl line 6.
QuoteZu diesem Fehler erhalten Sie eine Warnung, wenn sie in der Kommandozeile -w oder -W angeben oder wenn sie (was die zu bevorzugende Variante ist) das später im Abschnitt "Pragmas" beschriebene use warnings verwendet haben.
QuoteEs ist aber wesentlich besser, die Pragmas use warnings und no warnings zu verwenden [als die Kommandozeilenoption [tt]-w[/tt] oder die globale Variable $^W. Ein Pragma ist besserm weil es während der Kompilierung ausgeführt wird, weil es als lexikalische Deklaration keinen Code beeinflussen kann, den es nicht beeinflusse soll, und weil es eine sehr feine Kontrolle über verschiedene Klassen von Warnungen erlaubt (auch wenn Sie das bis jetzt nicht gesehen haben).
QuoteDieses lexikalisch beschränkte Pragma erlaubt die flexible Kontrolle der in Perl eingebauten Warnungen, und zwar sowohl der Warnungen des Compilers als auch der Warnungen des Laufzeitsystems.
Es gab mal eine Zeit, da war die Kontrolle von Warnungen in Ihrem Perl-Programm nur über die Kommandozeilenoptionen -w bzw. die Variable $^W möglich. Obwohl sie nützlich waren, waren dies doch eher "Ganz-oder-gar-nicht-Ansätze". Die Verwendung der Option -w führt dazu, dass in Modulen, die Sie gar nicht geschrieben haben, Warnungen aktiviert werden, was für Sie gelegentlich problematisch und für den Autor peinlich ist.
1
2
3
4
5
6
7
8
#!/usr/bin/perl
use warnings;
use strict;
use lib "d:\\";
use TestModul;
print $TestModul::test;
1
2
3
Global symbol "$test1" requires explicit package name at d:\/TestModul.pm line 5.
Compilation failed in require at D:\TesteModul.pl line 6.
BEGIN failed--compilation aborted at D:\TesteModul.pl line 6.
1
2
3
4
5
6
7
8
package Beweis;
use strict;
sub drucke {
print "undefinierter Wert im Paket : '", undef, "' :-)\n";
}
1;
1
2
3
4
5
6
C:\Daten\perl>perl beweis1.pl
Use of uninitialized value in print at Beweis.pm line 5.
undefinierter Wert im Paket : '' :-)
C:\Daten\perl>perl beweis2.pl
undefinierter Wert im Paket : '' :-)
|< 1 2 3 4 >| | 31 Einträge, 4 Seiten |