你们怎么调用另外一个文件的函数的。

你的另一个文件如果是*.pl的话,直接使用require就可以了,昏迷。。。还以为你做模块呢。
各位你们测试过没有,我刚自己找到一个方法,就是写个自己的模块

代码如下:

test.pl
#########################
use class::test;

my $sum=class::test::reduce {$a+$b} 1..3;

print $sum;
#########################

test.pm
#########################
package class::test;

use base 'Exporter';

our @EXPORT=qw( reduce );

sub reduce (&@) {
my $code = shift;
no strict 'refs';
return shift unless @_ > 1;
use vars qw($a $b);
my $caller = caller;
local(*{$caller."::a"}) = \my $a;
local(*{$caller."::b"}) = \my $b;
$a = shift;
foreach (@_) {
$b = $_;
$a = &{$code}();
}
$a;
}
1;

#########################

我这里采用的是use base Exporter的方法,直接为调用者 (caller)创建一个到本模块函数的引用。

另外我想问如果不是用模块的形式,就如楼上所说的把子函数写到pl文件里怎么搞

use和require的区别就在于use比require多一个import的过程对吧