国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

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

2020-06-04 20:28:27
字體:
來源:轉載
供稿:網友

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!  ";   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 特克斯县| 子长县| 平远县| 芒康县| 新丰县| 历史| 定陶县| 吴堡县| 大洼县| 临沧市| 益阳市| 梅河口市| 平江县| 陕西省| 平舆县| 融水| 巢湖市| 定边县| 长阳| 固阳县| 突泉县| 桦甸市| 凤阳县| 泰和县| 无为县| 玛纳斯县| 仁寿县| 巴东县| 利津县| 长治县| 安西县| 垦利县| 夹江县| 永清县| 河东区| 海阳市| 阜阳市| 页游| 仁寿县| 信阳市| 金华市|