my ($ip, $obj, $fn, $dir, $file, $line) = map { (defined) ? $_ : '?' } @$_;
my $frame;
if ($fn eq '?' and $obj eq '?') {
- $ip =~ s/^0x//g;
- $ip = hex $ip;
- $frame = sprintf "0x%0${pad}X", $ip;
+ $ip =~ s/^0x//gi;
+ my $l = length $ip;
+ $frame = '0x' . ($l < $pad ? ('0' x ($pad - $l)) : '') . uc($ip);
} else {
$frame = sprintf '%s (%s) [%s:%s]', $fn, $obj, $file, $line;
}