Acme-AtIncPolice
view release on metacpan or search on metacpan
lib/Acme/AtIncPolice.pm view on Meta::CPAN
my $_caller_n = 1;
while (my $c = (caller $_caller_n)[0]) {
if (not $c) {
last;
} elsif ($c !~ /^Tie::Trace/) {
last;
}
$_caller_n++;
}
my @caller = map $_ + $_caller_n, ref $caller ? @{$caller} : $caller;
my(@filename, @line);
foreach(@caller){
my($f, $l) = (caller($_))[1, 2];
next unless $f and $l;
push @filename, $f;
push @line, $l;
}
my $location = @line == 1 ? " at $filename[0] line $line[0]." :
join "\n", map " at $filename[$_] line $line[$_].", (0 .. $#filename);
my($_p, $p) = ($self, $self->parent);
while($p){
my $s_type = ref $p->{storage};
my $s = $p->{storage};
if($s_type eq 'HASH'){
push @msg, "{$_p->{__key}}";
}elsif($s_type eq 'ARRAY'){
push @msg, "[$_p->{__point}]";
}
$_p = $p;
( run in 0.266 second using v1.01-cache-2.11-cpan-49f99fa48dc )