Error Handling and Defensive Perl
Status Pairs
Return an ok flag with a message.
Status Pairs
status_pairs.pl
use strict;
use warnings;
sub check_code {
my ($code) = @_;
if ($code eq "ok") {
return (1, "accepted");
}
return (0, "rejected");
}
my $code = ;
my ($ok, $message) = check_code($code);
my $status = $ok ? "pass" : "fail";
print "code=$code\n";
print "status=$status\n";
print "message=$message\n";
use strict;
use warnings;
sub check_code {
my ($code) = @_;
if ($code eq "ok") {
return (1, "accepted");
}
return (0, "rejected");
}
my $code = ;
my ($ok, $message) = check_code($code);
my $status = $ok ? "pass" : "fail";
print "code=$code\n";
print "status=$status\n";
print "message=$message\n";
use strict;
use warnings;
sub check_code {
my ($code) = @_;
if ($code eq "ok") {
return (1, "accepted");
}
return (0, "rejected");
}
my $code = ;
my ($ok, $message) = check_code($code);
my $status = $ok ? "pass" : "fail";
print "code=$code\n";
print "status=$status\n";
print "message=$message\n";
status-pairs
A pair of scalars can report success or failure without throwing an exception.