Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^4: Different behaviour of 'stat' function after assignment to $! (errno).

by jpl (Monk)
on May 24, 2011 at 12:29 UTC ( #906484=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Different behaviour of 'stat' function after assignment to $! (errno).
in thread Different behaviour of 'stat' function after assignment to $! (errno).

$! , errno, is supposed to be positive, so using -$! is something funny :)
All the "funny" stuff happens after the second Dump, which happens immediately after the stat. Unless the optimizer is punishing us for something that is going to happen later, I cannot explain why the failing stat did not appear to modify $!.


Comment on Re^4: Different behaviour of 'stat' function after assignment to $! (errno).
Re^5: Different behaviour of 'stat' function after assignment to $! (errno).
by Anonymous Monk on May 24, 2011 at 12:54 UTC
    It does modify $!, but its only reflected when you Peek if you put $! in int/boolean/string context first, because Peek won't force the conversion. The assignment modified the IV slot, but stat modified the NV/PV slot.
    $ perl -MDevel::Peek -E " stat 1; Dump($!); $!=666; stat 1; $! and Dum +p($!); " SV = PVMG(0x9b3bfc) at 0x9ba5ec REFCNT = 1 FLAGS = (GMG,SMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x9d904c MG_VIRTUAL = &PL_vtbl_sv MG_TYPE = PERL_MAGIC_sv(\0) MG_OBJ = 0x9ba61c MG_LEN = 1 MG_PTR = 0x9da014 "!" SV = PVMG(0x9b3bfc) at 0x9ba5ec REFCNT = 2 FLAGS = (GMG,SMG,pNOK,pPOK) IV = 666 NV = 2 PV = 0x3ffee4 "No such file or directory"\0 CUR = 25 LEN = 28 MAGIC = 0x9d904c MG_VIRTUAL = &PL_vtbl_sv MG_TYPE = PERL_MAGIC_sv(\0) MG_OBJ = 0x9ba61c MG_LEN = 1 MG_PTR = 0x9da014 "!"

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://906484]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2014-12-27 08:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (176 votes), past polls