Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: Unexpected behavior of function 'say'

by tobyink (Abbot)
on Mar 05, 2013 at 15:32 UTC ( #1021851=note: print w/ replies, xml ) Need Help??


in reply to Re: Unexpected behavior of function 'say'
in thread Unexpected behavior of function 'say'

This is because of a change in Perl 5.14:

Filehandle method calls load IO::File on demand

The OP's code does work in Perl 5.10, if you run it with the -MIO::Handle parameter to manually load the IO::Handle package.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name


Comment on Re^2: Unexpected behavior of function 'say'
Download Code
Re^3: Unexpected behavior of function 'say'
by LanX (Canon) on Mar 05, 2013 at 15:48 UTC
    So print FH was magic in doing so prior to 5.14?

    I hate breakes in symmetry...

    BTW: I checked IO::Handle , it's a normal method and features aren't checked.

    sub say { @_ or croak 'usage: $io->say(ARGS)'; my $this = shift; local $\ = "\n"; print $this @_; }

    Cheers Rolf

      The point of the feature is to avoid to break existing function calls. Without feature, the code the OP posted is still the very same method call as it was before 5.10, so everything is working as it should.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1021851]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (17)
As of 2014-07-25 21:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (175 votes), past polls