永发信息网

perl中怎样在一个.pm的模块中调用外部main.pl中定义的函数?

答案:2  悬赏:10  手机版
解决时间 2021-11-29 06:30
  • 提问者网友:眉目添风霜
  • 2021-11-28 21:06
perl中怎样在一个.pm的模块中调用外部main.pl中定义的函数?
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-11-28 21:57
# main.pl
sub print_error { .... }

# MyModule.pm
.....
&main::print_error ( $argv ) ;追问刚刚试了一下,不行,你这种用法是在打包成一个模块时需要采用模块中的函数才用这种方式。&module::func();追答我刚也试了一下, 是可以的... 除非我理解错你的问题了 ( 那先说句不好意思 )


test.pl

use TestErr;
sub killMePlease {
    print "die for @_$/";
}
TestErr::SomethingHappen; # die for I am dead
my $sth = new TestErr;
$sth -> SomethingHappen; # die for I am dead

TestErr.pm
package TestErr;

sub SomethingHappen {
    main::killMePlease ( "I am dead" ) ;
}

sub new {
    bless{}, shift;
}

1;
全部回答
  • 1楼网友:夜余生
  • 2021-11-28 22:22
有require命令可以用的啊,不过你要知道那个文件放到哪里了追问require相当于c语言中的include"xxx.c"也就是在遇到这个语句时就会执行里面的语句。我需要调用的print_error函数在我的主程序main.pl中,现在如果require相当于执行主函数时再执行主函数,这样会出现问题。实际上操作出来的的结果也如我所料,程序根本无法运行。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯