1樓:人設不能崩無限
像c語言中有作用域的概念,比如一個百在函式中定義的變數,在函式外是無效的。perl也有作用域的概念,perl定義的變數默問認是全域性的,當在定義變數時使用。
perl借取了c、sed、awk、shell指令碼語言以及很多其他程式語言的特性,其中最重要的特性是它內部整合了正規表示式的功能,以及巨大的第三方**庫cpan。簡而言之,perl像c一樣強大,像awk、sed等指令碼描述語言一樣方便,被perl語言愛好者稱之為「一種擁有各種語言功能的夢幻指令碼語言」、「unix中的王牌工具」。
2樓:
our,"把名字限於某個範圍「,其實就是明確宣告一個"全域性變數",雖然是在某個模組或者函式裡面定義的,外面的也可以訪問,如果已經宣告過了,再次用"our",表示此處用的是全域性的那個,不是同名的私有或者區域性變數
our $program_name = "waiter";
# 這裡執行的**看到的仍然是"server".
my ,"把名字和值都限於限於某個範圍",簡單說,就是隻能本層模組或者函式可以看到這個變數,高一層的或者低一層的都看不到的。
sub greeting1
sub greeting2
$hello = "how are you doing?";
greeting2();
greeting1();
greeting2();
執行結果:
how are you doing?
how are you doing?
how are you doing?
--------------------------
一個 how are you do? 都沒有,在greeting1中call greeting2時,greeting2看不到greeting1的私有 $hello變數,只能看到外面的全域性變數$hello
local,"把值侷限於某個範圍",也有叫"動態詞法範圍",有點不好懂。我的理解,就是本層和本層下層的函式可以看到本層的變數,但是本層上一層的不可以。到底範圍是多少,不僅取決於本層的函式,還要看下一層的程式長度和深度,所以叫"動態範圍"。
sub greeting1
sub greeting2
$hello = "how are you doing?";
greeting2();
greeting1();
greeting2();
執行結果:
how are you doing?
how are you do?
how are you doing?
-----------------------
跟用 my 時不一樣了吧? 此時在greeting1呼叫greeting2時,greeting2可以看到greeting1的區域性變數$hello,外部的全域性變數當然就隱藏了。
3樓:陽光上的橋
my是關鍵字,表示定義區域性變數,你試試取消my看,如果在嚴格語法下會出錯,否則my的語句都可以取消。
perl中的正規表示式(my $me = $0) =~ s#.*[\/|\\]##; 是什麼意思?
4樓:匿名使用者
(my $me = $0) =~ s#.*[\/|\\]##;
把所有 /或者\ 前面(包括/或者\)的字元去掉
(my $mepref = $me) =~ s#(.*).pl#$1#;
表示去掉.pl字尾名。
在s///操作符中,可以用#、!等來作為分隔符。
(my $mepref = $me) =~ s#(.*).pl#$1#;
也可以寫為(my $mepref = $me) =~ s/(.*).pl/$1/;
$me是用來控制該指令碼在cmd中執行,而不是在cygwin中執行。是這個意思。
perl裡面定義函式開始都寫個my $self= shift,有什麼用?
perl中「my $content=shift;」什麼意思?
5樓:匿名使用者
shift函式是取陣列的第一個元素,預設就取@_的第一個函式,這句一般用在程式的開頭,用於接收程式的引數,或者子函式的開頭,用於接收子函式的引數。
6樓:匿名使用者
把指令碼後面跟的第一個引數移除,並賦給$content
7樓:
先舉個列子:
上文應該這樣的吧
sub function
下文應該是這樣
function ( "haha!" )
執行後會出現 haha!
首先要明白, shift 是將陣列的第一個元素 $array[0] 移走, 並將這個元素回傳(return).
@arr = ( 1,2,3,4 );
my $str = shift @arr;
現在 $str是 1, @arr 是 ( 2,3,4 )當你將一些 資料 傳入涵數(sub)時, 該涵數裡就會有一個叫 @_ 的陣列自動生成,
並將你輸入的資料存起. shift ; 其實就是 shift @_ 的意思.
8樓:張萍和張桂秋
陣列中的第一個數賦值給content
9樓:匿名使用者
shift 可以得到第一個引數
perl aa.pl 2012
aa.pl種 my $content=shift;
那麼$content的值就是2012
10樓:匿名使用者
獲取程式傳入的引數。
例如你的tool執行為:
./tool 1
那麼$content的值就為1
perl中my($a,$b) = $c 是什麼意思?
11樓:
只是將$c的值賦給$a啊,$b還是未定義
可以這樣
($a, $b) = (1,2);
($a, $b) = ($c,$d);
是對多個元素按照陣列方式賦值的一種方式
12樓:市幼霜
表示有一個hash叫做%a,每個hash有兩個部分組成,key和value$b表示key$c表示,key$b相對應的value例如:my %a=('x' => 1, 'y'=>2);x和y都是key,1和2是key分別對應的value。如果要提取2,則 print $a;如果要改變y的值,則 $a=3;
是否可以解決您的問題?
車牌以xy開頭的紅色字母是什麼車牌
車牌sv開頭紅色字母是什麼?車牌是軍車行不行啊?新式軍車牌照代號代表什麼?新軍車格式為xy12345,x 第1個字母,y 第2個字母 軍車號牌不僅僅在排列方式上有了改變,更採用了資訊防偽 熒光防偽 3d光學防偽 鐳射三維隱爍防偽 鐳射刻印編碼防偽 軋印特殊花紋防偽等技術,還應用了etc技術,有效防範...
中描寫陋室環境清幽寧靜的語句是什麼
無絲竹之bai亂耳,無案牘之勞形 翻譯 du 沒有嘈雜的音zhi樂擾亂聽覺,沒有繁忙的公dao務催勞傷神專。在此 絲竹 暗指 屬官場上聚會 酬宴時助興的 而 無絲竹之亂耳 與下句 無案牘之勞形 二句相互對照配合,顯示 幾經貶官的 劉禹錫對官場上的種種虛偽造作應是有些心灰意懶。由此亦可知他所不喜歡的是...
英語中以動詞開頭的句子,動詞什麼時候要加ing?比如第75題,look要不要加ing
不加ing.以動詞開頭的祈使句省略了主語。例如 go away from me.沒有主語。而動詞ing開頭,動詞則變為名內詞作主語,例如容 studying hard is very important.studying作為主語,hard為形容詞。不用。一般在句首或者動詞後面才用ing形式。75 用...