Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

hash requires explicit package name...

3 réponses
Avatar
kurtz_le_pirate
bonsoir,

oui... j'ai encore besoin d'un d'aide sur ce truc qui me rend fou :((


---
extrait --------------------------------------------------------------------
my %EventRecord=(
Length => "",
RecordNumber => "",
TimeGenerated => "",
TimeWritten => "",
EventID => "",
EventType => "",
Category => "",
ClosingRecordNumber => "",
Source => "",
Computer => "",
Strings => "",
Data => "",
);


my $thisLog = Win32::EventLog->new($eventLog, $thisMachine)
or die "Error : $!!\n";

while
($thisLog->Read((EVENTLOG_SEQUENTIAL_READ|EVENTLOG_FORWARDS_READ),1,\%EventRecord)){
$EventRecord->{EventID} &= 0xffff; <--- ligne 44 !!!!
}
--------------------------------------------------------------------------------

me donne un magnifique :
Global symbol "$EventRecord" requires explicit package name line 44.

pour quelle(s) raison(s) mon hash %EventRecord n'est pas (plus)
reconnu ?


argggg !
--
klp

3 réponses

Avatar
Jean-Baptiste Mazon
"kurtz_le_pirate" writes:
Global symbol "$EventRecord" requires explicit package name line 44.

pour quelle(s) raison(s) mon hash %EventRecord n'est pas (plus)
reconnu ?


L'erreur ne porte pas sur le hash %EventRecord mais sur le scalaire
$EventRecord.

Avatar
Paul Gaborit
À (at) Thu, 4 Oct 2007 17:22:17 +0200,
"kurtz_le_pirate" écrivait (wrote):
bonsoir,

oui... j'ai encore besoin d'un d'aide sur ce truc qui me rend fou :((


---
extrait --------------------------------------------------------------------
my %EventRecord=(


À remplacer par :

my $EventRecord = {

Length => "",
RecordNumber => "",
TimeGenerated => "",
TimeWritten => "",
EventID => "",
EventType => "",
Category => "",
ClosingRecordNumber => "",
Source => "",
Computer => "",
Strings => "",
Data => "",
);


Et là :

};



my $thisLog = Win32::EventLog->new($eventLog, $thisMachine)
or die "Error : $!!n";

while
($thisLog->Read((EVENTLOG_SEQUENTIAL_READ|EVENTLOG_FORWARDS_READ),1,%EventRecord)){
$EventRecord->{EventID} &= 0xffff; <--- ligne 44 !!!!
}


Et ces quatre dernières lignes par :

while
($thisLog->Read((EVENTLOG_SEQUENTIAL_READ|EVENTLOG_FORWARDS_READ),1,$EventRecord)){
$EventRecord->{EventID} &= 0xffff;
}

--------------------------------------------------------------------------------

me donne un magnifique :
Global symbol "$EventRecord" requires explicit package name line 44.

pour quelle(s) raison(s) mon hash %EventRecord n'est pas (plus)
reconnu ?


Parce que $EventRecord et %EventRecord sont deux choses différentes
(un scalaire et une table de hachage).

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
kurtz_le_pirate
"Paul Gaborit" a écrit dans le message
de news:
|
| ...
| > pour quelle(s) raison(s) mon hash %EventRecord n'est pas (plus)
| > reconnu ?
|
| Parce que $EventRecord et %EventRecord sont deux choses différentes
| (un scalaire et une table de hachage).

et en plus j'ai mélangé les listes et les hashs e :((

merci beaucoup!!


--
klp