in reply to A mystery?

Interesting that it dies under Linux with empty $! (unless I replace sysread with read), even if I replace CRLF with LF.

Replies are listed 'Best First'.
Re^2: A mystery?
by BrowserUk (Patriarch) on Jul 15, 2013 at 23:34 UTC
    Interesting that it dies under Linux with empty $!

    I've no knowledge to address that.

    The only possibility that springs to mind is that *nix sysread really objects to being used on a filehandle that has previously been used in "formatted IO" mode.

    Ie. As the DATA pseudo-handle is actually the same handle used to read the source, which presumably reads it using formatted IO, trying to read it with low-level IO sysread() causes it to throw its hands up in disgust :)

    even if I replace CRLF with LF.

    sysread should be completely oblivious to CRLF/LF -- even if I was asking it to read one or more -- but I'm asking it to read 80 characters only, so there are no newlines (of any flavour) being read.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      Works for me (Linux) if I prepend sysread() with

      binmode( DATA );