#!/usr/bin/perl -w
{
sub
sub_caller {
my
(
$self
,
$level
) =
@_
;
return
caller
(
$level
);
}
sub
sub_caller2 {
my
(
$self
,
$level
) =
@_
;
return
$self
->sub_caller(
$level
);
}
method method_caller(
$level
) {
return
caller
(
$level
);
}
method method_caller2(
$level
) {
return
$self
->method_caller(
$level
);
}
my
@expected
= Foo->sub_caller2(0);
my
@expected2
= Foo->sub_caller2(1);
my
@have
= Foo->method_caller2(0);
my
@have2
= Foo->method_caller2(1);
$expected
[3] =
'Foo::method_caller'
;
$expected2
[3] =
'Foo::method_caller2'
;
is_deeply([
@have
[0..7]], [
@expected
[0..7]]);
is_deeply([
@have2
[0..7]], [
@expected2
[0..7]]);
isnt
$have
[8],
undef
;
isnt
$have2
[8],
undef
;
isnt
$have
[9],
undef
;
isnt
$have2
[9],
undef
;
}