in reply to Having TCP Socket as object 's data

The only thing allowed in the filehandle / indirect object "slot" for print is either a bareword handle name or a simple scalar variable $foo. Anything more complex (such as an element of a hashref in this case) needs to be given as a BLOCK: print { $self->{socket} } "rest", "of", "arguments";.

The cake is a lie.
The cake is a lie.
The cake is a lie.