perlのcallerによるメソッド呼び出し元の制限

ちょっと勉強会で、callerで呼び出し元制限できる
みたいな話になった。

形にするとこんな感じになるんじゃないかと思う。

package Sister;
use strict;
use warnings;

sub say {
    my $class = shift;
    my $pkg   = caller();

    unless( $pkg eq 'Brother' ) {
        die 'お兄ちゃんしかよんじゃだめなんだからね!';
    }
}

package main;

Sister->say();

この制限も回避可能だし
そもそもこんなモンあちこちにか書かれたらイヤンクックです。