Errors.pm - Full featured error management module
Error module is created as base "error" catcher module especially for Web
use Errors::Errors; $obj = Errors::Errors->new(); $obj->content(0); $obj->header(); $obj->attach('xreader'); # Attach sub object for error of type 'xreader' $obj->attach('myown'); # Attach sub object for error of type 'myown' $hash = { name=>'July', born_year=>'81', }; $obj->attach_object('xreader',$hash); # Hash ref or object $obj->install('onTerm',\&custom); $obj->install('onError',\&anysub,'xreader'); $obj->install('onExit',\&leave); $obj->install('onTerm',\&custom,'myown'); $obj->error(7,'xreader'); $h = $obj->fetch_object('xreader'); $obj->print($h->{name}); $obj->uninstall('onError','xreader'); $obj->detach_object('xreader'); $obj->detach('xreader'); $obj->install('onTimeOut',\&timeout); eval 'alarm(2);'; $obj->exit(); sub custom { my $obj = shift; # 'Errors' object my $err = shift; # Error number/message (for TERM it has value 'term') my $name = shift; # 'name' of error (for TERM it has empty value) # ...blah...blah... } sub leave { my $obj = shift; # 'Errors' object my $err = shift; # Last error number/message my $name = shift; # 'name' of error my $how = shift; # can be: 'exit','die' or 'destroy' # ...blah...blah... } sub timeout { my $obj = shift; # 'Errors' object my $what = shift; # 'timeout' string # ...blah...blah... print "Time OUT"; } sub anysub { my $obj = shift; # 'Errors' object my $err = shift; # Error number/message my $name = shift; # 'name' of error if($name =~ m/xreader/si) { $obj->print ("Error in Xreader!!!"); # If error is raised in 'xreader' } else { $obj->print ("Error in ... I don't know :-)!!!"); } }
Julian Lishev - Bulgaria, Sofia, e-mail: julian@proscriptum.com, www.proscriptum.com
To install ShopCard, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ShopCard
CPAN shell
perl -MCPAN -e shell install ShopCard
For more information on module installation, please visit the detailed CPAN module installation guide.