in reply to Large Files and glob/stat

You are trying to use the thing returned by stat as an object, but perldoc -f stat says it is merely a list containg the filesize on index seven. Try my $s = (stat($farm))[7]. Or, better yet, check the return value of stat first...
Or try the -s operator (man perlfunc).

Replies are listed 'Best First'.
Re^2: Large Files and glob/stat
by FireyIce01 (Novice) on Jan 18, 2005 at 08:57 UTC
    Well, with files under 2 gig it gives me accurate bytecount... if you notice, I use use File::stat; which allows me to referecne by name and printf "%s\nAge[%s] size[%d]\n", $farm, ParseDateString("epoch".$s->mtime()), $s->size(); is referenceing that element of the list by name... the problem only seems to occur on a file that's larger than 2 gigs...

    scratch that changed     printf "%s\nAge[%s] size[%d]\n", $farm, ParseDateString("epoch".$s->mtime()), $s->size(); to say     printf "%s\nAge[%s] size[%s]\n", $farm, ParseDateString("epoch".$s->mtime()), $s->size(); and it started working... printf was looking for an integer for the filesize... and when the number it was getting was too big it just turned it into a -1... all fixed, I just turned it into a string since I'm not actually doing any math functions on it.

      oops, should read the code more careful...