為了載入模組,是把模組進行安裝。這種方式太繁瑣,不是好方法。
只要關注perl模組裡的*.pm檔案即可。利用@inc。
#!/usr/bin/perl
use strict;
use warnings;
push(@inc,"d/tools/perl/perl-study/perl5");
use lwp;
perl中的inc變數中包含了所有的perl module的查詢路徑。
可以使用perl -v 來檢視inc的值。
1)預設地inc如下:
@inc:c
:/perl/site/lib
c:/perl/lib
.
2)設定環境變數perl5lib來增加到inc,例如:
set perl5lib=c:\perllibs
在設定perl5lib後如下,
%env
:perl5lib="c:\perllibs"
@inc
:c:\perllibs
c:/perl/site/lib
c:/perl/lib
.
3)在perl程式中修改inc, 例如:
#!/usr/bin/perl -w
begin;
或者
#!/usr/bin/perl -w
uselib '/home/test';
下述寫法,是網上介紹的。但是發現@inc的路徑沒有載入成功。
#!/usr/bin/perl -w
push(@inc,"/home/test");
解決辦法:
我們需要使用begin塊在編譯時向@inc中新增值,此時是perl檢查模組的時刻。
begin ;
# or
begin ;
# or
use lib '/my/dir';
如果你等到程式被編譯的時候就晚了,perl會會提示乙個異常,
「在@inc中無法找到***」.
can』t locate *** in @inc
#!/usr/bin/perl
use strict;
use warnings;
package packagename
#require exporter;
#our @isa=qw(exporter);
#our @export=qw(subname1 subname2 subname3 $varname1 $varname2);
#our @version=1.0;
sub subname1
1;
說明:
1. 下述四行**使用的話,在use packagename之後,函式呼叫而已不用指明packagename,即subname1()
;
2. 否則,在use packagename之後,函式呼叫需要用指明packagename,即packagename::subname1()
;
#require exporter;
#our @isa=qw(exporter);
#our @export=qw(subname1 subname2 subname3 $varname1 $varname2);
曾經走過但已逝去的日子
部落格空間擁有了好久,但是為曾寫過多少心情,都是技術筆記和一些學習的資料 曾經的大學生活,寢室生活,兄弟生活,都讓我難以忘記,一起走過了風風雨雨,抬頭看看彩虹就在天邊不遠處,兄弟之間的情誼,都在內心深處,讓我難以忘懷,下面貼上小詩贈三兄一妹 互相勉勵!知人不必言盡,留三分餘地與人,留些口德與己 責人...
總結 perl載入自己寫的模組
1.usr bin perl use lib mylib 2.perl i mylib script.pl 3.usr bin perl i mylib 4.perl 將在 inc 陣列裡面列出的每乙個目錄裡面查詢模組。因為 use 在編譯的時候裝載 模組,所以任何對 inc 的修改都需要在編譯時發...
玹瘋 這些年我走過的彎路
簡介 從澳洲回國,開啟阿里旅程,釘釘高階前端技術專家玹瘋與你分享他成長路上的故事。作者 玹瘋 當我拿到這個 topic 的時候,第一感覺是實在不好意思去分享成長之路,因為自己的成長並不成功,甚至說走了許多彎路。但是轉念一想,去分享下這些彎路,未嘗不是乙個有意義的事情,至少可以給一些相同彎路上的同學有...