溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Perl操作符中Perl不等于怎么用

發(fā)布時間:2021-12-06 10:33:05 來源:億速云 閱讀:416 作者:小新 欄目:開發(fā)技術

小編給大家分享一下Perl操作符中Perl不等于怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Perl 不等于

$/="" 不等于undef$/

早有耳聞Perl可以簡單地把一個文件一下子讀入一個變量,而且不管它是不是二進制的.好象不止一次看到說$/="";即可.
一直以為是這樣,直到遇到奇怪的現(xiàn)象,二進制文件里混入了一個0x0A,這樣的BUG很難找,費了半天勁才找到是讀入的時候就少讀了內容.
搞不懂Perl為什么要設計成這樣,帶來便利的同時你得了解太多的細節(jié),語言本身的規(guī)則太過復雜.

讓Perl 不等于$/=""的效果等同于undef$/;難道不是更直觀的設計嗎.鑒于此,對Perl的使用一定要12萬分的小心,不要把自己的程序建立在不十分了解的語言特性和builtin函數(shù),操作符.我***準備精通的是它的正則表達式的內容.再就是二進制操作相關的東西:

pack/unpack函數(shù).
substr返回值作為左值的效率.
ord,chr.
int()和整數(shù)操作的規(guī)則
StringWise的位操作符號(一共4個~&|^)

用Perl操作二進制文件需要注意的問題

1.千萬記得打開一個文件后用binmode(FILE_HANDLER).Perl5.8的open可以直接指定打開的方式.
這在UNIX系統(tǒng)下是不必的.但在windows下是必需的.

2.分析大量數(shù)據(jù)要考慮正則表達式的效率和可讀性.

關于可讀性,可以把復雜的表達式分解為多個子部分,這些子部分用qr操作符編譯.
另外就是使用x這個modifier把各個部分分開

關于效率,就要了解一些正則表達式內部的工作機制,比如貪婪與回溯以及(?>)斷言等.
另一個就是用o這個modifier來讓表達式只編譯一次.

3.注意它的所有除法操作都是用浮點的.

對策:用int()轉回來.
用useinteger;nointeger........這個還不會用.

4.搞清楚Perl的數(shù)據(jù)類型與數(shù)據(jù)的機器表示之間的關系.

二進制數(shù)據(jù)都用"\x0\x1"這樣的形式寫.

以上是“Perl操作符中Perl不等于怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI