Thread Frage zu "use strict;" (2 answers)
Opened by docsnyder at 2006-10-23 12:21

docsnyder
 2006-10-23 12:21
#71069 #71069
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallöle!

Ich habe den folgenden Code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
local(*FD);

sub lockSection {
my($self, $lockFile) = @_;
my($rc);

return(0) if ( ! $lockFile );

open(FD, ">", $lockFile) or return(0);

$lockHandles{$lockFile} = FD if ( ($rc=flock(FD, LOCK_EX | LOCK_NB)) );

return($rc);
}
}


und bekomme bei Verwendung von "use strict;" die Fehlermeldung:

Code: (dl )
1
2
3
Bareword "FD" not allowed while "strict subs" in use at BHFTools.pm line 182.
Compilation failed in require at ./BTtestLock.pl line 3.
BEGIN failed--compilation aborted at ./BTtestLock.pl line 3.


Zeile 182 ist

Code: (dl )
$lockHandles{$lockFile} = FD if ( ($rc=flock(FD, LOCK_EX | LOCK_NB)) );


des Moduls BHFTool.pm und Zeile 3 ist

Code: (dl )
use BHFTools;


des Test-Programms.

Ohne "use strict;" läuft der Code korrekt.

Was mache ich falsch?

Gruß, Doc

P.S. FD muss ich mir merken, weil ich später beim unlock ein close(FD) ausführen muss.

View full thread Frage zu "use strict;"