goto &NAME

http://d.hatena.ne.jp/tomyhero/20081231/1230735039

使うケースというのは、呼びもとクラスをコントロールしたい時でいいのかな

a.pl

#!/usr/bin/perl
use Hage;
package Hoge;

sub import {
    use Data::Dumper;
    print Dumper caller ;
    print "---------\n";
}

1;
package Hage;

use Hoge;

sub import {
    goto &Hoge::import;
    # &Hoge::import;
}

1;

gotoをつけた場合

$VAR1 = 'Hage';
$VAR2 = 'Hage.pm';
$VAR3 = 3;
---------
$VAR1 = 'main';
$VAR2 = 'a.pl';
$VAR3 = 2;
---------

gotoをつけなかった場合

$VAR1 = 'Hage';
$VAR2 = 'Hage.pm';
$VAR3 = 3;
---------
$VAR1 = 'Hage';
$VAR2 = 'Hage.pm';
$VAR3 = 6;
---------