相关疑难解决方法(0)

如何在Perl模块中创建私有函数?

我正在研究一个小的Perl模块,由于某种原因,我有一个测试驱动程序脚本,它使用我的新模块调用我认为是私有的函数之一,并且它是成功的.我很惊讶,所以我开始搜索谷歌,我真的找不到任何关于如何在Perl模块中创建私有函数的文档...

我看到一个地方说要在你的"私人"功能的右大括号之后加一个分号,如下所示:

sub my_private_function {
...
}; 
Run Code Online (Sandbox Code Playgroud)

我尝试过,但我的驱动程序脚本仍然可以访问我想要私有的功能.

我会做一些简短的例子,但这就是我所追求的:

模块TestPrivate.pm:

package TestPrivate;

require 5.004;

use strict;
use warnings;
use Carp;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);

require Exporter;

@ISA = qw(Exporter AutoLoader);

our @EXPORT_OK = qw( public_function );
our @EXPORT    = qw( );

$VERSION = '0.01';

sub new {
    my ( $class, %args ) = @_;
    my $self = {};
    bless( $self, $class );
    $self->private_function("THIS SHOULD BE PRIVATE");
    $self->{public_variable} = "This is public";
    return $self;
}

sub public_function {
    my …
Run Code Online (Sandbox Code Playgroud)

perl module perl-module private-functions

32
推荐指数
5
解决办法
3万
查看次数

标签 统计

module ×1

perl ×1

perl-module ×1

private-functions ×1