http://www.perlmonks.org?node_id=435668


in reply to Perl oddities

While I agree with your observations about the odities of -M, -A, and -C, print FH @list makes perfect sense to me. If one was to put a comma between the two, I would expect the filehandle and list to be printed (ie. the glob and the list); especially with the possibility of Filehandles now being assigned to variables ( open my $fh => ''), I'd find it counterintuitive to see perl differentiate between:
print $fh,@list; # ref($fh) = GLOB
and
print $fh,@list
That'd be some cooky DWIMery, considering, then, that _if_ we wanted to print something like GLOB<0x...>, we'd have to do this:  print "$fh",@list, which would function in a significantly different manner than print $fh,@list. Thus, to me it's a perfectly rational and well thought out syntax.

I still prefer, however,  $fh->print();. In addition, the workaround to this oddity would be to force the explicit declaring of the filehandle to write to, or the like.