Tie::Moose::Forgiving - don't die at the mere mention of an unknown key
tie my %bob, "Tie::Moose"->with_traits("Forgiving"), $bob;
Tie::Moose is very happy to throw exceptions.
If, for example, you use a hash key that doesn't correspond to one of the object's attributes, it will croak. Even if you used exists!
exists
This trait prevents read-only accesses from throwing due to unknown attributes.
use v5.14; package Person { use Moose; has name => ( is => "rw", isa => "Str", ); has age => ( is => "rw", isa => "Num", reader => "get_age", writer => "set_age", ); } my $bob = Person->new(name => "Robert"); tie my %bob, "Tie::Moose"->with_traits("Forgiving"), $bob; my $x = $bob{xyz}; # ok ($x is undef) $bob{xyz} = $x; # would croak
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Tie-Moose.
Tie::Moose.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2013 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
To install Tie::Moose, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tie::Moose
CPAN shell
perl -MCPAN -e shell install Tie::Moose
For more information on module installation, please visit the detailed CPAN module installation guide.