<?xml version="1.0" encoding="windows-1252"?>
<node id="65765" title="$! or &amp;Errno or $!{}" created="2001-03-20 17:05:33" updated="2005-08-10 08:48:20">
<type id="115">
perlquestion</type>
<author id="49599">
tadman</author>
<data>
<field name="doctext">
Inside of [IO::Socket].pm, there is some rather unruly looking
Perl in the connect() routine. In particular $! is used
as a hash, implying that there is something called %!,
which in fact seems to exist (according to 'perl -w' anyway).
&lt;CODE&gt;     if ($timeout &amp;&amp; $!{EINPROGRESS}) { # ...
&lt;/CODE&gt;
It's bizarre enough that $! behaves differently in a
string context versus a numeric one, but now it has some
sort of hidden "hash" context?
</field>
</data>
</node>
