亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1702 | 回復(fù): 8
打印 上一主題 下一主題

請教package的用法,謝謝 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-06-13 10:20 |只看該作者 |倒序?yàn)g覽

我想嘗試下package的用法,

我有這么兩個文件, /home/my/PERL/test.pm   和 /home/my/PERL/test.pl
test.pm 里面有一個myprint的sub函數(shù), 在我的test.pl里面會調(diào)用myprint,

我的問題是,我已經(jīng)在test.pl里面加了下面兩行,為什么調(diào)用函數(shù)的時候還需要在mypirnt前面加上PERL::TEST呢?  希望指點(diǎn),謝謝。

use lib "/hom/my/PERL/"
use PERL::TEST

PERL::TEST::myprint ;




test.pm 是下面這樣的,

package PERL::TEST
sub myprint {
}

論壇徽章:
16
IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-10-02 06:20:00IT運(yùn)維版塊每月發(fā)帖之星
日期:2015-09-11 19:30:52IT運(yùn)維版塊每周發(fā)帖之星
日期:2015-09-11 19:20:31IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-08-26 06:20:00每日論壇發(fā)貼之星
日期:2015-08-20 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-08-20 06:20:002015年辭舊歲徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09雙子座
日期:2013-12-17 16:44:37辰龍
日期:2013-11-22 15:20:59獅子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
2 [報(bào)告]
發(fā)表于 2013-06-13 10:50 |只看該作者
myprint 在test.pl里有沒有重新定義?如果沒有那么應(yīng)該可以不用些前綴的。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-06-13 12:57 |只看該作者
回復(fù) 2# wenhq


    謝謝,已經(jīng)找到答案了,

需要在.pm的文件里面加上Exporter, 就可以不寫前綴了。

論壇徽章:
3
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
4 [報(bào)告]
發(fā)表于 2013-06-13 14:27 |只看該作者
本帖最后由 mcshell 于 2013-06-13 14:28 編輯
  1. package PERL::TEST
  2. use strict;
  3. sub new{
  4.   my $self = {};
  5.   bless $self;
  6.   return $self;
  7. } ;
  8. sub myprint{
  9.    my $self = shift;
  10.    return "Hello world";
  11. }

  12. 1;


復(fù)制代碼
  1. use lib "/hom/my/PERL/"
  2. use PERL::TEST
  3. my $test = PERL::TEST->new();
  4. print $test->myprint;
復(fù)制代碼
可以采用面向?qū)ο蟮膶懛!?br /> 里面的函數(shù)都可以通過此方法調(diào)用{:3_186:}

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-06-13 15:11 |只看該作者
但在實(shí)際應(yīng)用中,如果模塊很多,還是帶上前面的累贅比較好。

例如做web時,在Appach的conf文件里,對路徑總的定義:
<IFModule mod_perl.c>
   PerlSetEnv PERL5LIB /var/www/cgi-bin/lib
   ...
</IFModule>

在模塊里,
不用 use lib
只用 use xx:x::me;  路徑明確

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2013-06-13 17:37 |只看該作者
回復(fù) 4# mcshell


    頂高手,謝謝。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-06-13 18:04 |只看該作者
回復(fù) 1# 290702500


    因?yàn)閙yprint函數(shù)沒有從你的PERL::TEST包中導(dǎo)入到當(dāng)前程序的符號表中。在你的模塊中加
  1. require Exporter;
  2. @EXPORT_OK = ( myprint );
復(fù)制代碼
這里涉及到符號表相關(guān)知識,大駱駝第十章有介紹

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2013-06-14 09:53 |只看該作者
回復(fù) 5# cronas


    謝謝分享經(jīng)驗(yàn), 3ks。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2013-06-14 09:59 |只看該作者
回復(fù) 8# 290702500


    恩,是的,謝謝。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP