【发布时间】:2019-01-20 03:01:38
【问题描述】:
我有以下代码: 演示.pm
#! user/local/bin/perl
use strict;
use warnings;
package demo;
sub doit{
print("Inside DoIt\n");
my $a = shift();
my $b = shift();
print("$a\n");
}
文件 demo.pm 位于别处,想使用相对路径来获取模块并运行它
使用 linux 命令中的以下命令会引发错误: perl -M/sub1/sub2/demo.pm -e 'demo::doit('arg1')'
错误:
-e 第 0 行的语法错误,靠近“使用 /sub1/”
-e 的执行由于编译错误而中止。
【问题讨论】:
-
尝试使用-I /path/to/directory/ contains/lib
-
提示:
#!在模块中没有意义。 -
提示:模块必须以真值结尾。这通常通过在末尾添加
1;来实现。 -
提示:如果将
use strict; use warnings;放在package指令之后,效果会更好。 -
感谢所有建议,会记住的!