这个 Perl 模块有什么问题?
我正在制作一个非常非常简单的模块(这是我写的第一个模块):
package Master::Math;
use 5.12.4;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter)
our %EXPORT_TAGS = (
'all' => [ qw(
max
=cut
1; # End of Master::Math
当我在程序中运行 use this 时,我收到错误
C:/Perl/lib/Master/Math.pm 第 3 行的版本格式无效(非数字数据), 靠近“包 Master::Math
” C:/Perl/lib/Master/Math.pm 第 3 行的语法错误,靠近“package Master::Math
”需要出口商” C:\MainDev\myperl\max.pl 第 3 行的 require 编译失败。 BEGIN 失败 - 编译在 C:\MainDev\myperl\max.pl 第 3 行中止。
我需要什么来解决这个问题?谢谢!
I am making a very, very simple module (it is the first I've ever wrote):
package Master::Math;
use 5.12.4;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter)
our %EXPORT_TAGS = (
'all' => [ qw(
max
=cut
1; # End of Master::Math
When I run use this in my program, I get the error
Invalid version format (non-numeric data) at C:/Perl/lib/Master/Math.pm line 3,
near "package Master::Math"
syntax error at C:/Perl/lib/Master/Math.pm line 3, near "package Master::Mathrequire Exporter"
Compilation failed in require at C:\MainDev\myperl\max.pl line 3.
BEGIN failed--compilation aborted at C:\MainDev\myperl\max.pl line 3.
What do I need to fix this? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您在
@ISA
声明中缺少分号。在
sub max
中,$foo
未声明;使用foreach my $foo ...
。这应该可以编译。我还没有看过更多的内容。
(顺便说一句,我没有遇到与您相同的错误。我使用了 perl 5.14.0,
perl -cw master-math.pm
。)You're missing a semicolon on the declaration of
@ISA
.In
sub max
,$foo
is undeclared; useforeach my $foo ...
.That should get it to compile. I haven't looked beyond that.
(BTW, I didn't get the same errors you did. I used perl 5.14.0,
perl -cw master-math.pm
.)