亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

perl文件包含(do,require,use)指令介紹

2020-10-31 15:19:25
字體:
來源:轉載
供稿:網友

1. do:

1)形式:
do 'filename';
說明:
這里filename需要添加單引號,否則會出錯;
filename可以為任何后綴的,甚至沒有后綴,不要求是pl或者pm等。

2)關于do的理解:
do 'filename'
首先需要讀入filename的文件(如果讀入失敗,返回undef而且會設置$!變量);
如果讀入成功,然后對filename讀入的語句進行編譯(如果無法編譯或者編譯錯誤,會返回undef而且設置錯誤信息到$@變量);
如果編譯也成功,do會執行filename中的語句,最終返回最有一個表達式的值。

簡短表達do 'filename'的功能,就是能夠將filename中的文字全部加載到當前文件中。

3)理解do的用法:
a. 將文件拆分:
main.pl:

復制代碼 代碼如下:

use strict;
do 'seperate'; #文件可以以任何后綴命名甚至沒有后綴;
seperate:
print "Hello from seperate file! :-)";

b. 可以在seperate中定義函數,然后在當前文件中調用:
main.pl

復制代碼 代碼如下:

#!/usr/bin/perl
use strict;
do 'seperate';
show();
seperate:
sub show{
    print "Hello from seperate file! :-)";
}

c. 可以在seperate中定義package,然后在當前文件中調用:
main.pl

復制代碼 代碼如下:

#!/usr/bin/perl
use strict;
do 'seperate';
Show::show_sentence();
seperate:
package Show;
sub show_sentence(){
    print "Hello from seperate file! :-)";
}
1;
__END__
#都不需要文

件名必須與package的名稱相同,而且seperate都不需要pm后綴。

從上面的例子,很容易得到,使用do可以方便地實現文件包含。
更多參看http://perldoc.perl.org/functions/do.html

2. require
參看http://perldoc.perl.org/functions/require.html
1)形式:
require 'filename';
require "filename";
這兩種相同,而且和do的使用方法都類似;

require Module;
如果不加單引號或者雙引號的話,后面的Module將被解析為Perl的模塊即.pm文件,然后根據@INC Array中搜索Module.pm文件。首先在當前目錄下搜索Module.pm的文件(用戶自定義的),如果找不到再去Perl的 (@INC contains: C:/Perl/site/lib C:/Perl/lib .)尋找。
如果Module中出現::,如require Foo::Bar; 則會被替換為Foo/Bar.pm

2)關于require使用的解釋:
如果使用require 'filename'或者require "filename"來包含文件的話,使用方法和do完全近似;
如果使用require Module的話,則需要定義Module.pm的文件而且文件中的package要以Module來命名該模塊。
main.pl

復制代碼 代碼如下:

#!C:/perl/bin/inperl -w
use strict;
require Show;
Show::show_header();

Show.pm
#Show.pm

復制代碼 代碼如下:

package Show;
sub show_header(){
    print "This is the header!  ";   
    return 0;
}
sub show_footer(){
    print "This is the footer!  ";   
    return 0;
}
1;
__END__

3. use
參看http://perldoc.perl.org/functions/use.html
1)形式:
use Module;
use只能夠使用模塊,而且和require的用法相似,需要Module.pm的文件,而且文件中的package需要已Module來命名該模塊。

main.pl

復制代碼 代碼如下:

#!C:/perl/bin/perl -w
use strict;
use Show;
Show::show_header();

Show.pm

復制代碼 代碼如下:

#Show.pm
package Show;
sub show_header(){
    print "This is the header!  ";   
    return 0;
}
sub show_footer(){
    print "This is the footer!  ";   
    return 0;
}
1;
__END__

2)require和use的區別:
require:
do the things at run time; (運行時加載)
use:
do the things at compile time; (編譯時加載)

4. perlmod - Perl modules (packages)
參考http://perldoc.perl.org/perlmod.html
1)  示例:

復制代碼 代碼如下:

#Show.pm
package Show;
sub show_header(){
    print "This is the header! /n";  
    return 0;
}
sub show_footer(){
    print "This is the footer! /n";  
    return 0;
}
1;
__END__

2)
一般文件名需要和package名稱相同,這里為Show;
可以定義變量和函數;
不要忘記1;
以及最后的__END__

3)
在別的文件中,使用require或者use使用模塊的時候:

復制代碼 代碼如下:

use Show;
#require Show;
Show::show_header();

5. Perl的函數定義及調用:
 

復制代碼 代碼如下:

sub fun_name(){
 #...
}

1) 如果定義在使用之前,在使用的時候直接fun_name();即可
2)如果定義在使用之后,之前使用的時候需要使用&fun_name();來調用函數。

6.
小結:
綜上,文件包含可以提高代碼的復用性,在Perl是實現文件包含可以才去兩條路:
1)使用do或者require(帶引號的)那種方式;
2)使用require Module或者use Module的模塊方式;
兩者均可。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91精品久久久久久| 欧美性videos高清精品| 伊人久久综合97精品| 国产视频在线一区二区| 国产精品一区二区久久| 日韩精品有码在线观看| 最近更新的2019中文字幕| 国产欧美精品va在线观看| 91久久嫩草影院一区二区| 欧美激情久久久久| 一本一本久久a久久精品牛牛影视| 日韩av中文字幕在线播放| 亚洲欧美综合精品久久成人| 国产欧美精品一区二区三区-老狼| 国产美女搞久久| 欧美夫妻性视频| 国产精品扒开腿做| www.日本久久久久com.| 国产精品极品尤物在线观看| 国产亚洲欧美日韩精品| 亚洲激情中文字幕| 精品亚洲男同gayvideo网站| 成人黄色免费网站在线观看| 欧美成人午夜剧场免费观看| 国产999在线| 亚洲综合色av| 亚洲成人网在线| 岛国视频午夜一区免费在线观看| 久久夜色精品国产亚洲aⅴ| 久久91超碰青草是什么| 亚洲精品一区av在线播放| 国产精品稀缺呦系列在线| 国产精品丝袜久久久久久不卡| 久久中文字幕国产| 亚洲一区二区三区视频播放| 亚洲一区二区日本| 日韩最新在线视频| 欧美性猛交xxxx乱大交极品| 亚洲电影免费观看高清完整版| 久久综合网hezyo| 国产精品www色诱视频| 国产精品久久久久一区二区| 18一19gay欧美视频网站| 欧美日韩成人免费| 免费不卡在线观看av| 亚洲一二在线观看| 美女性感视频久久久| 欧美丝袜第一区| 国产999在线观看| 日韩欧美一区视频| 久久夜色精品亚洲噜噜国产mv| 伊人久久男人天堂| 日韩久久精品电影| 亚洲国产一区二区三区四区| 久久精品视频亚洲| 午夜精品一区二区三区在线视频| 国产日韩欧美电影在线观看| 国产日本欧美视频| 欧美高清视频在线播放| 国产精品1区2区在线观看| 日韩免费在线电影| 91欧美日韩一区| 日韩在线观看免费高清| 成人性生交xxxxx网站| 亚洲精品成人av| 午夜精品三级视频福利| 夜色77av精品影院| 在线丨暗呦小u女国产精品| 精品久久久久久久久久久久久久| 日韩成人黄色av| 国产精品久久久久久亚洲调教| 日韩成人av在线| 国产精品美女久久久免费| 热re99久久精品国产66热| 国产精品久久色| 欧洲亚洲女同hd| 日韩av综合网| 亚洲成av人片在线观看香蕉| 欧美劲爆第一页| 精品久久久久久久久中文字幕| 日韩中文字幕视频| 在线丨暗呦小u女国产精品| 国内精品久久久久影院 日本资源| 国产精品美腿一区在线看| 国产成人精品免费视频| 2019亚洲男人天堂| 国产午夜精品美女视频明星a级| 视频一区视频二区国产精品| 成人亚洲欧美一区二区三区| 一区二区三区www| 黑人狂躁日本妞一区二区三区| 欧美肥臀大乳一区二区免费视频| 中文国产成人精品久久一| 亚洲精品一区av在线播放| 色爱av美腿丝袜综合粉嫩av| 亚洲精品网站在线播放gif| 日韩av在线免播放器| 91亚洲国产成人久久精品网站| 日韩精品在线影院| 国产成人精品a视频一区www| 国产精品久久久久久久电影| 国产精品久久久久77777| 日韩精品极品在线观看播放免费视频| 中文字幕日韩欧美精品在线观看| 一本大道亚洲视频| 97精品欧美一区二区三区| 久久精品国产一区二区电影| 欧美福利视频在线观看| 精品久久久久久久久久ntr影视| 国产精品久久激情| 在线成人中文字幕| 日韩欧美国产中文字幕| 精品爽片免费看久久| 国产精品男女猛烈高潮激情| 国产精品无码专区在线观看| 亚洲人成伊人成综合网久久久| 久久久久久久影院| 精品福利在线看| 国产精品视频一区二区三区四| 亚洲福利在线视频| 在线观看国产精品日韩av| 国产乱肥老妇国产一区二| 亚洲色图欧美制服丝袜另类第一页| 欧美电影免费观看高清完整| 午夜精品久久久久久99热软件| 欧美电影在线观看高清| 国产欧美一区二区白浆黑人| 亚洲天堂网在线观看| 亚洲aⅴ日韩av电影在线观看| 精品国内产的精品视频在线观看| 欧美中文在线观看| 久久精品中文字幕电影| 国产欧美一区二区三区久久| 久久久亚洲网站| 亚洲精品欧美日韩专区| 91探花福利精品国产自产在线| 亚洲激情视频在线| 国产精品久久久久久久久免费看| 91精品在线看| 国产欧美va欧美va香蕉在线| 欧美激情一区二区三区成人| 欧美成人精品在线| 成人性生交大片免费看小说| 欧美精品在线网站| 伊人精品在线观看| 日韩av在线网址| 中文字幕一区二区三区电影| 成人国产亚洲精品a区天堂华泰| 中文字幕亚洲无线码在线一区| 国产欧美日韩最新| 久久久久国色av免费观看性色| 国产精品中文字幕在线| 精品在线小视频| 欧美日韩亚洲系列| 最近中文字幕日韩精品| 夜夜嗨av一区二区三区免费区| 欧美电影电视剧在线观看| 欧美性xxxxx极品| 91免费观看网站| 亚洲第五色综合网| 亚洲人在线观看| www.精品av.com| 91精品国产高清自在线看超| 精品日韩中文字幕|