perl載入模組,曾經走過的彎路。

2021-07-23 08:55:31 字數 1820 閱讀 3223

為了載入模組,是把模組進行安裝。這種方式太繁瑣,不是好方法。

只要關注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 的時候,第一感覺是實在不好意思去分享成長之路,因為自己的成長並不成功,甚至說走了許多彎路。但是轉念一想,去分享下這些彎路,未嘗不是乙個有意義的事情,至少可以給一些相同彎路上的同學有...