On Wed, Nov 14, 2018 at 10:20 PM Tetsuo Handa < penguin-ker...@i-love.sakura.ne.jp> wrote:
> Even on 32bit environments (at least for Linux), lstat() calls 64bit version When I check on Windows, I find that the value is actually an NV (not an IV as I had expected). I expect it's the same for you, in which case it's a 53-bit double (unless $Config{nvsize} reports a value greater than 8). You can test for this using Devel::Peek: use strict; use warnings; use Config; use Devel::Peek; die "Usage 'perl try.pl filename'" unless $ARGV[0]; print "NV is ", $Config{nvsize}, " bytes\n"; my @s = lstat($ARGV[0]); Dump $s[7]; print "\n################\n\n"; Dump $s[8]; __END__ Outputs: NV is 8 bytes SV = NV(0x1dbaccc) at 0x1d8e95c REFCNT = 1 FLAGS = (NOK,pNOK) NV = 7948 ################ SV = IV(0x1d8e9a8) at 0x1d8e9ac REFCNT = 1 FLAGS = (IOK,pIOK) IV = 1481534816 Cheers, Rob