How do I make private functions in a Perl module?

前端 未结 9 963
后悔当初
后悔当初 2020-12-23 20:43

I am working on a little Perl module and for some reason I had the test driver script that was using my new module call one of the functions that I thought would be private,

9条回答
  •  心在旅途
    2020-12-23 20:53

    We can write some thing below in the perl private function to check whehter the call from the same obj as caller[0] gives package.

    sub foo {
      my ($s, %args) = @_;
      die "Error: Private method called"
          unless (caller)[0]->isa( ref($s) );
    }
    

提交回复
热议问题