perl中my local和our區別與聯絡

2021-05-18 11:06:05 字數 1185 閱讀 2235

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,外部的全域性變數當然就隱藏了。

用批處理建立OU和域使用者

在域環境下,有時候我們需要建立較多ou和使用者,如果手動乙個乙個是建立的話,相當煩鎖而且沒有效率,此時批處理就派上用場了,可以為我們節約了時間,另外還可以有效避免了一些錯誤。下面舉個例子建立ou和域使用者 dsadd ou ou lee,dc kk5234,dc com dsadd user cn ...

perl中陣列的定義和使用

1.資料的定義和使用 方式一 array 1 0 beijing array 1 1 tianjin array 1 2 chongqin 方式二 array 2 beijing tianjin chongqin 2.資料的使用 array 2 beijing tianjin chongqin pr...

perl 1 perl中的數字

下面是在perl中的要點記錄 1 在perl中只有雙精度浮點數,也就是我們常說的double。在perl中我們看到的整數和浮點數,只是我們看的樣子和形式不同而已,其實在perl的內部它全部作為雙精度浮點數來運算。2 浮點數可以以十進位制的指數來記,符號是 e 並不區分大小寫,如 1.2e20,1.2...