如何在perl中的相同脚本中重用代码

时间:2015-04-27 10:52:50

标签: perl

如何在Perl中的同一脚本中重用代码?我们需要使用requireuse。或者,还有其他任何方法/事物吗?

注意:我正在使用的脚本不是函数。

1 个答案:

答案 0 :(得分:0)

以下是3种“重用”或重复代码而不使用subs

的方法

eval接受一个字符串并将其作为perl运行。请参阅perldoc perlfunc中的条目

使用代码引用需要一个未命名的函数并引用它。然后可以如图所示运行。

AUTOLOAD有点疯狂。这将分析您调用的函数并在函数名称中查找模式,然后使其表现得就像有一个具有此名称的实际函数一样

在perl中有许多其他方法可以执行“重用”

#!/usr/bin/perl
#
use warnings;
use strict;


#example : eval
my $x="print qq(cheese\n)";

eval "$x";

#example : code reference
my $code=sub { my $param=shift; print qq(hairy $param\n); };

$code->("goats");

#example : AUTOLOAD

no strict 'subs';
use vars qw/$AUTOLOAD/;
sub AUTOLOAD {
  my $full=$AUTOLOAD;
  if ($full =~ /panda_(\d)/ ) {
    print "panda " x $1;
    print "\n";
  }
}

panda_3();
panda_6();
相关问题