I'm getting this error message that is to vague for me to follow.
Goto undefined subroutine &Carp::longmess_real at /usr/share/perl5/Car
+p.pm line 35, <FH> line 1.
My code base is large. I'll list the beginning parts since I think that might be the problem.
First
#!/usr/bin/perl
BEGIN { push @INC, "/home/neil/perl5/lib/perl5" }
use strict;
use warnings;
use local::lib;
use Evolvethinking::Mymodule;
use POSIX 'strftime';
And the module.
package Mymodule;
{
use Mouse;
use Mouse::Util::TypeConstraints;
use Socket;
...
subtype 'my_timestamp',
=> as 'Str',
=> where { m/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/ },
=> message { 'Not a valid timestamp. Expect: yyyy-mm-d
+d hh:mm' };
has 'timestamp' => (
is => 'ro',
isa => 'my_timestamp'
);
Update
Carp::Any shows that my typing is working properly by returning an error. However, I wonder why the error was so vague.
Attribute (insert_class) does not pass the type constraint because: No
+t a valid class at /home/neil/perl5/lib/perl5/x86_64-linux-thread-mul
+ti/Mouse/Util.pm line 383, <FH> line 1.
Mouse::Util::throw_error('Mouse::Meta::Attribute=HASH(0x161869
+8)', 'Attribute (insert_class) does not pass the type constraint be..
+.', 'data', '192_168_0_151', 'depth', -1) called at /home/neil/perl5/
+lib/perl5/x86_64-linux-thread-multi/Mouse/Util.pm line 383, <FH> line
+ 1.
Mouse::Util::throw_error('Mouse::Meta::Attribute=HASH(0x161869
+8)', 'Attribute (insert_class) does not pass the type constraint be..
+.', 'data', '192_168_0_151', 'depth', -1) called at ./p1.pl line 35
....
subtype 'my_insert_class',
=> as 'Str',
=> where { m/^[a-zA-Z0-9]+$/ },
=> message { '$_ is not a valid class' };
has 'insert_class' => (
is => 'rw',
isa => 'my_insert_class'
);
Also, is there a way to have this typing do something other than exit? I'd really like to to just return none zero.