Perl300 has asked for the wisdom of the Perl Monks concerning the following question:
examples/mootype/Person.pm
package Person; use Moo; has name => (is => 'rw'); has age => ( is => 'rw', isa => sub { die "'$_[0]' is not an integer!" if $_[0] !~ /^\d+$/; }, ); 1;
examples/mootype/student_1.pl
use strict; use warnings; use 5.010; use Person; my $student = Person->new( name => 'Foo', age => 22 ); say $student->name; say $student->age; $student->age('young'); say $student->age;
The expected result stated on the site is that
Foo
22
isa check for "age" failed: 'young' is not an integer! at Person.pm line 8.
But what I get is
isa check for "age" failed: '22' is not an integer! at ~/bin/../lib/Person.pm line 10.
What I am trying to understand is, has something changed and this result (no presence of first two say) is now expected? Or am I somehow doing it different? I am using same code including `use 5.010` but the version of perl I am on is 5.26.1 and I have added following two lines between `use 5.010` and `use Person`
use FindBin qw($Bin);
use lib "$Bin/../lib";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Moo-Type checking example from Perl Maven: What should be the expected result?
by 1nickt (Canon) on Sep 29, 2018 at 02:08 UTC | |
by tobyink (Canon) on Sep 29, 2018 at 21:27 UTC | |
by hippo (Archbishop) on Sep 29, 2018 at 21:39 UTC | |
by tobyink (Canon) on Sep 29, 2018 at 21:46 UTC | |
|
Re: Moo-Type checking example from Perl Maven: What should be the expected result?
by choroba (Cardinal) on Sep 28, 2018 at 22:24 UTC | |
|
Re: Moo-Type checking example from Perl Maven: What should be the expected result?
by NetWallah (Canon) on Sep 29, 2018 at 05:09 UTC | |
|
Re: Moo-Type checking example from Perl Maven: What should be the expected result?
by Perl300 (Friar) on Oct 01, 2018 at 15:24 UTC |