gerr
view release on metacpan or search on metacpan
lib/gerr.pm view on Meta::CPAN
my $ls = ($size >> 1) - ($tsize >> 1);
my $rs = $size - ($size >> 1) - ($tsize >> 1) - 1;
my $tit = " " . ("#" x $ls) . $type . ("#" x $rs) . "\n";
return "$tit\n".join("\n", @out)."\n" . ("#" x $size) . "\n";
}
################################################################################
sub Warn {
my ($message) = @_;
my $file = (caller)[1];
my $line = (caller)[2];
my $formatted_message = error("$message at $file line $line.", "return=1", "type=Warning", "trace=3");
if (ref($SIG{__WARN__}) eq 'CODE') {
$SIG{__WARN__}->($formatted_message);
} else {
binmode STDERR, ":encoding(UTF-8)"; # Set UTF-8 encoding for STDERR
print STDERR $formatted_message;
}
return $formatted_message;
}
################################################################################
sub Die {
my ($message) = @_;
my $file = (caller)[1];
my $line = (caller)[2];
my $formatted_message = error("$message at $file line $line.", "return=1", "type=Fatal", "trace=3");
if (ref($SIG{__DIE__}) eq 'CODE') {
$SIG{__DIE__}->($formatted_message);
} else {
binmode STDERR, ":encoding(UTF-8)"; # Set UTF-8 encoding for STDERR
print STDERR $formatted_message;
}
exit 1 unless $^S; # Only exit if not in an eval block
return $formatted_message;
}
( run in 1.300 second using v1.01-cache-2.11-cpan-a3c8064c92c )