in reply to IO::Socket blocking question

local $/ = '^\';

I suspect that ^\ is meant to be control-backslash -- ie. ascii 28, otherwise known as FS for "file separator".

If so you are not setting the INPUT_RECORD_SEPARATOR $/ to chr(28), but rather to the two character string consisting of a caret (^) and a backslash (\).

To set $/ to FS, you can use any of the following constructs:

(I'd advise one of the first two for clarity.)

If my suspicions are correct, then once you've set the input record separator correctly, you may find that the rest of your code functions as expected.

It is possible to enter ascii 28 by typing ', control+backslash, ' (at least on windows and my keyboard), but it is at best an obscure and easily misunderstood way of doing so.)


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.

Replies are listed 'Best First'.
Re^2: IO::Socket blocking question
by ericf706 (Initiate) on May 29, 2013 at 14:30 UTC
    Thanks for both of your replies, changing the local $/ line corrected the issue. I initialize and updated the $minute variable outside of that code block, there was more going on, and I thought this was the portion most relevant to the socket. Thanks again for both responses!