That explains something. I didn't realize that truncate returns undef if it fails. I thought it was supposed to return a zero or empty string. Oh, well, it's in the manual. Doh! Why didn't I see that? Anyway, I thought that was weird. I wonder what's the limit where truncate will not fail. I know that earlier versions of Windows XP before Service Pack 2 had a limitation of 120GB. They couldn't access physical storage space above the 120gb limit, which is also really unexplainable. weird. Well, I think, it's time for me to transition to Linux. I've used Windows all my life, but it's becoming increasingly uncomfortable and I have to live with so many limitations...