在perl程序中,我找到了这一行#!/usr/bin/perl -I Directory_name
所以我在网上搜索了perl中的-I
选项,但我没有找到正确的解释。任何人都可以告诉我这个选项的用途是什么?
答案 0 :(得分:2)
您的问题存在问题,而不是您只是在问一个可研究的问题,而是指定了file_name:
#!/usr/bin/perl -I file_name
以上内容不正确,因为-I在给定目录中搜索包,并指定文件名。以下开关可以使用,但每个开关都执行不同的功能。
#!/usr/bin/perl -i file_name
#!/usr/bin/perl -I DIR
perl中的-i
和-I
之间存在差异。
如此简短的回答:
-i:就地修改输入文件(备份 原版的)。方便修改文件而不需要{copy, delete-original,rename}进程。
-I:-I指定的目录前置于模块的搜索路径(@INC)
更详细的来源perlrun
答案 1 :(得分:0)
-I
包含一个搜索包的目录。请参阅perldoc perlrun。
以下是一个示例,请注意我们use Bar
而不是use Foo::Bar
:
test.pl
Foo/Bar.pm
<强> test.pl 强>
#!/usr/bin/perl -I Foo
use warnings;
use strict;
use Bar qw( frobnicate ); # Foo/Bar.pm
my $output = frobnicate('hello');
print $output . "\n";
<强>富/ Bar.pm 强>
package Bar;
require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(munge frobnicate); # symbols to export on request
1;
sub munge {
my ($txt) = @_;
return join '*', sort split //, $txt;
}
sub frobnicate {
my ($txt) = @_;
return join '....', sort split //, $txt;
}
<强>输出强>
./test.pl
e....h....l....l....o
答案 2 :(得分:0)
我们还可以使用以下命令找到perl命令行选项的简短描述。所以没有必要安装perldoc。
perl --help
上面的命令给出了在手册页中找不到的每个选项的简短描述。