perl中有什么用-I选项

时间:2017-03-27 05:15:31

标签: perl

在perl程序中,我找到了这一行#!/usr/bin/perl -I Directory_name 所以我在网上搜索了perl中的-I选项,但我没有找到正确的解释。任何人都可以告诉我这个选项的用途是什么?

3 个答案:

答案 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 

上面的命令给出了在手册页中找不到的每个选项的简短描述。