小编rpg*_*rpg的帖子

将大型模块划分为多个文件

道歉,看起来我的原始问题无法正确解释我在做什么以及我想要实现什么.这是一个更新的问题.

这可能是最简单的问题,但我无法在任何地方找到答案.

我有一个很大的Perl模块(比如ABC.pm),当我们添加新功能时,它会不断增长.大多数这些功能(几乎90%)发送请求和处理响应.以下是一个此类请求的代码.

sub UserDeleteRequest
{
    my ($self, $inputParam) = @_;
    my $config = $self->getConfig();
    return $self->_doRequest (REQUEST => 'UserDeleteRequest',
                              PARAM => $inputParam));
}
Run Code Online (Sandbox Code Playgroud)

与此类似,编写了其他函数,并在我们添加新请求时不断增长.

拥有大文件变得难以维护.所以,我正在寻找一些最佳实践来使这更容易.我想到的一个想法是将这个大模块拆分成多个文件(如何??)

perl

2
推荐指数
1
解决办法
613
查看次数

函数重载按返回类型

Perl是支持按返回类型重载函数的语言之一.

简单的例子是wantarray().

CPAN中几乎没有很好的模块可以扩展这个wantarray()并为许多其他返回类型提供重载.这些模块是Contextual :: Return and Want.不幸的是,我不能使用这些模块,因为这两个模块都没有使用perl版本5.8.9的perl评论家(我无法升级这个perl版本).

所以,我正在考虑像Contextual :: Return和Want一样编写我自己的模块,但却非常简单.我试图理解Contextual :: Return和Want模块代码,但我不是专家.

我需要函数重载只返回类型BOOL,OBJREF,LIST,SCALAR.

请通过提供一些指导帮助我,我该如何开始.

perl

2
推荐指数
1
解决办法
525
查看次数

如何将字符串解释为perl代码并在没有eval的情况下执行它?

我理解"string-eval"可以用于它.但我正在寻找一些替代方案来实现它eval.理由是"字符串评估"失败了perl评论家,根据客户政策,我不能使用它.

所以,请告诉我一些替代方案eval.

这是我想要做的:

我将动态生成的代码ref传递给函数.此函数评估此代码ref并将结果分配给变量.

perl

2
推荐指数
2
解决办法
1833
查看次数

Perl变量值表示另一个变量

my $var = "Hello";
my $Hello = "Hi";
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在$ var中替换$ Hello的值?这里$ var包含字符串"Hello"(有一个名为$ Hello的变量).我正在寻找一种方法用变量$ Hello的值替换它.请让我知道我该怎么做?

perl

1
推荐指数
1
解决办法
4859
查看次数

将多维数组转换为一维数组的更好方法

目前,我使用以下代码将不规则的多维数组转换为一维数组.

my $array = [0, 
        [1],
        2,
        [3, 4, 5],
        [6, 
            [7, 8, 9 ],
        ],
        [10],
        11,
        ];

my @mylist;
getList($array);

print Dumper (\@mylist);


sub getList

{

        my $array = shift;

        return if (!defined $array);
        if (ref $array eq "ARRAY")
        {
               foreach my $i (@$array)
               {
                   getList($i);
               }
        }
        else
        {
               print "pushing $array\n";
               push (@mylist, $array);
        }
}
Run Code Online (Sandbox Code Playgroud)

这基于递归,我在检查每个元素.如果element是对数组的引用,则使用新数组递归调用它.

有没有更好的方法来解决这类问题?

arrays perl

1
推荐指数
1
解决办法
2058
查看次数

同一个班的多个名字?

请参考这个问题

如何同时为C#类分配多个名称

我们怎样才能在Perl中实现同样的目标?

perl

1
推荐指数
1
解决办法
115
查看次数

标签 统计

perl ×6

arrays ×1