perl裡面的1是什麼意思,perl 中 代表了什麼意思?

時間 2021-10-15 00:03:33

1樓:匿名使用者

$|就是乙個變數啦,是perl的內建變數,預設情況下是0,如果設定為非0的話,表示當前的輸出不經過快取立刻輸出,比如你print或者write乙個檔案,實際是需要經過快取的,但是設定該變數非0後就不經過緩衝立刻輸出了

$locip =~ s/\./,/gi;是乙個正規表示式匹配,對變數$locip進行替換,將$locip中的點(.)替換成逗號(,),g和i都是附加選項,g表示全域性替換,就是所有的點(.

)都替換成逗號(,),i是忽略大寫,這裡沒有什麼用

$_也是perl的內建變數,是perl中用的最多的預設變數,一般比如你寫乙個迴圈:foreach (@my_array)

這個迴圈沒有指定變數,每次遍歷陣列my_array的時候就把值賦給了$_,所以你這樣就可以把my_array陣列中的每個元素都列印出來

2樓:小猴子

樓上正解,補充說明:$_ 是內建變數,給你乙個最容易理解的例子:

while() //從螢幕輸入,將輸入結果放到預設變數$_ 裡面

如果寫成這樣

while($local=)

perl就會將從螢幕輸入的值給變數$local 而不是放到預設變數$_裡面去

還有一點 $locip =~ s/\./,/gi; 這裡面的 =~ 意思是與變數$locip裡面的值匹配, 而不是與$_ 裡面的值匹配

比如 while(/s\./,/gi) 這樣就是與$_ 裡面的值匹配了。

"\"是 escape character 讓它後面的符號按照字面意**釋,而不是特殊的含義,因為"."在表示式裡面代表任意乙個單個字元,但如果前面加上"\"則表示乙個"點號"而不再代表單一乙個字元了。

我也是新手,大家可以多交流 我的q是316629457

多謝加我 註明 perl 程式設計

3樓:

$|=1;表示清除快取

s/\./,/gi 意思是把所有的.替換成,

$_是內建變數。你可以看看perldoc

4樓:顏開飛

perl是一種unix下面的指令碼語言集大成者,當然可以在windows平台下使用,有很多軟體完成這一任務如activeperl。

perl內部使用了很多內建變數,這是描述性語言為了簡潔易寫性而搞的一種「把戲」,但是其易讀性讓初學者很不爽,可以把它們看作是程式語言裡面的巨集。

perl 中 $/ 代表了什麼意思?

5樓:

$/      為輸入記錄分隔符,預設為換行符。該變數會影響 perl對「行」這一概念的理解。其功能類似於 awk 中的 rs變數,在被設定為空字串時同樣會將空白行作為終止標誌。

(空白行不能含有任何空格或製表符。)

你可以將其設定為含有多個字元的字串,以匹配多字元的終止標誌;也可以設為"undef" 以便一直讀到檔案結束。

當檔案含有連續的空白行時,把它設為"\n\n" 和設為 "" 有少許不同:

設為 ""  會把兩個或更多連續的空白行視為單個 空白行;

local $/; # enable "slurp" mode

local $_ = ; # whole file now here

s/\n[ \t]+/ /g;

切記:$/ 的內容是乙個字串,而不是正規表示式。

將 $/設為整數、存有整數的標量或可轉換成整數的標量這些值的引用時,perl會嘗試讀入記錄而不是行,最大記錄長度就是引用的那個整數。

因此這段 **:

local $/ = \32768; # or \"32768", or \$var_containing_32768

open my $fh, $myfile or die $!;

local $_ = ;

會從 file 讀取一條不長於 32768位元組的記錄。如果你不是在讀取乙個面向記錄的檔案(或者所用的 os沒有面向記錄的檔案型別),那很可能每次讀取都得到一整塊的資料。若某條記錄比你所設定的記錄長度還大,就會把該記錄拆成若干片 返回。

參見 "newlines" in perlport 以及 $.。

6樓:匿名使用者

自帶的全域性變數,預設值為「\n". perl中」行「的概念就由$/決定。

$data的值就是」this".

7樓:

它會改變你讀取檔案時候,對行的分隔符,一般行都是根據回車分隔,

local $/ = ">" 會根據 > 來分隔行。

請問在perl語言裡面$.代表什麼意思?

8樓:匿名使用者

$! 根據上下文內容返回錯誤號或者錯誤串

$」 列表分隔符

$# 列印數字時預設的數字輸出格式

$$ perl直譯器的程序id

$% 當前輸出通道的當前頁號

$& 與上個格式匹配的字串

$( 當前程序的組id$) 當前程序的有效組id$* 設定1表示處理多行格式.現在多以/s和/m修飾符取代之.

$, 當前輸出字段分隔符

$. 上次閱讀的檔案的當前輸入行號

$/ 當前輸入記錄分隔符,預設情況是新行

$: 字元設定,此後的字串將被分開,以填充連續的字段.

$; 在**多維陣列時使用的分隔符.

$? 返回上乙個外部命令的狀態

$@ perl直譯器從eval語句返回的錯誤訊息$[ 陣列中第乙個元素的索引號

$\ 當前輸出記錄的分隔符

$] perl直譯器的子版本號

$^ 當前通道最上面的頁面輸出格式名字

$^a 列印前用於儲存格式化資料的變數

$^d 除錯標誌的值

$^e 在非unix環境中的作業系統擴充套件錯誤資訊$^f 最大的檔案捆述符數值

$^h 由編譯器啟用的語法檢查狀態

$^i 內建控制編輯器的值

$^l 傳送到輸出通道的走紙換頁符

$^m 備用記憶體池的大小

$^o 作業系統名

$^p 指定當前除錯值的內部變數

$^r 正規表示式塊的上次求值結果

$^s 當前直譯器狀態

$^t 從新世紀開始算起,腳步本以秒計算的開始執行的時間$^w 警告開關的當前值

$^x perl二進位制可執行**的名字

$_ 預設的輸入/輸出和格式匹配空間

$| 控制對當前選擇的輸出檔案控制代碼的緩衝

$~ 當前報告格式的名字

$` 在上個格式匹配資訊前的字串

$』 在上個格式匹配資訊後的字串

$+ 與上個正規表示式搜尋格式匹配的最後乙個括號$< 當前執行直譯器的使用者的真實id

$ 含有與上個匹配正規表示式對應括號結果

$= 當前頁面可列印行的數目

$> 當前程序的有效使用者id包含正在執行的指令碼的檔名$ar** 從預設的檔案控制代碼中讀取時的當前檔名%env 環境變數列表

%inc 通過do或require包含的檔案列表%sig 訊號列表及其處理方式

@_ 傳給子程式的引數列表

@ar** 傳給指令碼的命令列引數列表

@inc 在匯入模組時需要搜尋的目錄列表

$-[0]和$+[0] 代表當前匹配的正規表示式在被匹配的字串中的起始和終止的位置

9樓:月輪天唯五

文字中的行號,屬於特殊變數

10樓:哈哈哈

檔案行數的計數器,這個就是說如果當前的行數不等於$i這個變數那麼怎麼樣怎麼樣

perl中$+什麼意思? 30

11樓:連續用

表示圓括號中的子表示式匹配的部分。大多數情況,只需要使用$1, $ 2 , 等 ,而不需要用$+。當正規表示式中有一系列括號時,$+是有用的。

例如:$_ = "alpha be tadelt agamma ";

/alpha (.*)del t a(.*)/;

print "the last ma tch was $ +\n";

perl中是什麼意思

通常我們的行分隔符是 n perl 中 也是預設為 n 打個比方,字串 abc 123 n 原本是一句話如果你改變 的值,該字串就變為兩句話,相當於 abc n123 n 叫記錄分隔符,上網搜一下各個符號的意思。就是說各個記錄用什麼符號分割,預設是換行,所以在讀入檔案時候是讀入一行。假設有檔案a.t...

pe投資是什麼意思,PE是什麼意思

廣發 股權投資 equity investment 是為參與或控制某一公司的經營活動而投資購買其股權的行為。可以發生在公開的交易市場上,也可以發生在公司的發起設立或募集設立場合,還可以發生在股份的非公開轉讓場合。 馬珏 股權投資,pe,私募 風險投資 即private equity,簡稱pe。國內通...

html div裡面的class是什麼意思

回憶 在這裡我將用id與class的比較,讓這個問題更容易理解1 使用區別 id具有唯一性,在一個網頁中同一個命名只能使用一次 class命名的類可以在一個網頁中使用無數次。2 css中區別 id在css 中是以 井號符號開頭命名的類class在css 中是以 小寫句號符號命名開頭的類3.id和cl...