perl require @INC
发布时间:2020-12-15 23:49:42 所属栏目:大数据 来源:网络整理
导读:perl的包含文件 require ("myfile.pl"); 基本的包含文件全过程 建立一个include文件,就按整个的perl script文件格式建立,文件中写sub [macg@localhost perltest]$ vi file1.pl #!/usr/bin/perl sub gotest{ my(@tmp)=@_; open (MYFILE,$tmp[0]) || die ("Co
perl的包含文件 require ("myfile.pl"); 基本的包含文件全过程
?require;?不指定文件名 变量$_的值即作为文件名传递给require ?require?("testdir/file1.pl");?
[macg@localhost perltest]$ vi tip.pl #!/usr/bin/perl unshift (@INC,"/home/macg/perltest/testdir"); require ("file1.pl"); $file="/home/macg/perltest/gogo"; &gotest($file); |
||||||
[macg@localhost perltest]$ ./tip.pl good $line is :I WANTWANT TO go to NY. And I also wWant to be DC |
[macg@localhost perltest]$ vi tip.pl
@arraytest=qq(hello "test" world);
#!/usr/bin/perl
foreach?
?
}
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.4
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/5.8.6
[macg@localhost perltest]$ vi tip.pl
#!/usr/bin/perl
$path1="/home/macg";
$path2="/home/macg/www";
push(@INC,$path1);?
unshift(@INC,$path2);?
foreach?
?
}?
/home/macg/www
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.6
.
/home/macg?
push 或unshift @INC只对当前文件执行时刻有效,没有global效果。
以下为我自己根据项目中实践结果添加。
perl参数-I可以加入模块路径,如文件test.pl内容如下:
#! /usr/bin/perl -w use strict; use Data::Dumper; print "hello world!n";
如果perl默认模块目录中没有strict模块或者Data::Dumper模块,则直接调用perl ./test.pl可能会报错,@INC中目录里可能没有此处调用的模块。
但如果目录/home/usr_name/lib_test中有这两个模块,我们可以这样调用:perl -I/home/usr_name/lib_test ./test.pl就可以成功。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!