in reply to length of a file

Hmmm...all files end in EOF but if you want to stop before then, let's say on a marker like 'STOP', then simply search for it while reading it in and split() appropriately.
AgentM Systems nor Nasca Enterprises nor Bone::Easy nor Macperl is responsible for the comments made by AgentM. Remember, you can build any logical system with NOR.

Replies are listed 'Best First'.
Re: Re: length of a file
by myocom (Deacon) on Nov 17, 2000 at 00:44 UTC

    Actually, it's not at all true that all files end in EOF (as a character, at least). If I do echo test > test.txt, you'll see a 4-byte file (at least under Win32, and I'd be terribly surprised to see it different under other OS's).

      Sorry, but all files are required to end in EOF in POSIXland. Why should you be surprised? Does it make sense to do otherwise? Are you sure that Windows doesn't simply ignores EOFs in its editors and byte counts?
      AgentM Systems nor Nasca Enterprises nor Bone::Easy nor Macperl is responsible for the comments made by AgentM. Remember, you can build any logical system with NOR.
        Not one single word of that post made sense AgentM and since my fever is down I'm guessing it is you. =)

        Nothing in DOS/WINDOWS/UNIX/POSIX enforces or requires a file to end with any sort of End-Of-File CHARACTER. I personally am entirely certain that Windows (be it under FAT,FAT16,FAT32,NTFS,etc.) uses file lengths in the file tables/nodes to determine the EOF is reached. Windows reports file lengths based on what is recorded in the file meta information. Any file system less than 30 years old that made you parse a file to see how long it is would be roasted alive, even in a market dominated by crap-ware like MSWinME. =)

        myocom was entirely correct. Now, filesystems that conform to POSIX rules are supposed to use EOF signaling but that wasn't the point up there.

        Admittedly, however, your post is as lucid as the word of God compared to the original AM post that spawned this discussion! =P

        --
        $you = new YOU;
        honk() if $you->love(perl)