Perl 的主要目標(biāo)之一是解析文本。這里主要討論用于文本解析的 CPAN 模塊,并展示了如何在程序中方便地使用它們。通過(guò)使用一些正確的工具,可以使分析代碼注釋、改編現(xiàn)有記載文法和許多其它任務(wù)變得容易??紤]到實(shí)際編程,給出了每個(gè)任務(wù)的示例。
中文名稱(chēng) | perl文本處理模塊 | 目標(biāo) | 解析文本 |
---|---|---|---|
公司 | John Hagerman | 優(yōu)缺點(diǎn) | 記載和解析 |
John Hagerman 的 Swedish Chef 記載文法是出色的簡(jiǎn)單文本過(guò)濾器示例。它還非常有趣,會(huì)給許多計(jì)算機(jī)科學(xué)與工程專(zhuān)業(yè)的學(xué)生在畢業(yè)前夕帶來(lái)歡樂(lè)。我將展示一個(gè)使用 Parse::RecDescent 模塊將 chef.l 文法移植到 Perl 中的示例(Parse::RecDescent 模塊并不是實(shí)現(xiàn)這一任務(wù)的理想選擇 ― Parse::Lex 模塊會(huì)更好些)。這一節(jié)只準(zhǔn)備介紹構(gòu)建 Parse::RecDescent 語(yǔ)法的規(guī)則,將包括操作、記憶狀態(tài)、拒絕產(chǎn)品和對(duì)文本進(jìn)行記載。請(qǐng)記住,自己試一試 chef.pl 腳本 ― 您很可能會(huì)對(duì)此著迷。
chef.pl 腳本幾乎是 chef.l 記載文法完全一樣的副本。 $niw 變量在啟動(dòng)時(shí)設(shè)置為 0,因?yàn)樵S多規(guī)則測(cè)試它來(lái)判斷它們應(yīng)該被接受還是被拒絕。 $niw 表示"不在文字中(not in word)",而當(dāng)解析器在文字內(nèi)時(shí),它設(shè)置為 1。如果 Parse::RecDescent 的偽指令中指定的變量非零,則該偽指令會(huì)拒絕該規(guī)則。因此,請(qǐng)牢記 $niw = 0 意味著解析器不在文字內(nèi)。
skip 變量設(shè)置為 '' (空字符串),所以所有輸入(包括空格)都轉(zhuǎn)至標(biāo)志偽指令。此外,chef 規(guī)則以 \z 結(jié)束,\z 表示字符串的結(jié)束。通常使用 \Z ,但那還可以匹配 Perl 中的換行,它們也都可以在輸入中。
chef 規(guī)則:文法以 chef 規(guī)則開(kāi)始。chef 規(guī)則匹配許多標(biāo)志,直至表示字符串結(jié)束的 \z 。chef 規(guī)則的那兩個(gè)元素稱(chēng)為"產(chǎn)品"。任何規(guī)則都必須由產(chǎn)品組成。操作可以是產(chǎn)品的一部分;它由花括號(hào) {} 標(biāo)出,并包含 Perl 代碼。它不匹配任何事物 ― 操作僅用于執(zhí)行。
token 規(guī)則:token 規(guī)則可以匹配任何數(shù)或序列,這些數(shù)和序列是我為匹配 chef.1 文法而指定的(有些隨意)。我將說(shuō)明一些示例,以便使文法對(duì)應(yīng)清晰。
就是很多個(gè)IGBT集成在一起
將海容模塊用到農(nóng)村自建房中,成本造價(jià)與傳統(tǒng)的紅磚造價(jià)差不多,冬暖夏涼,施工簡(jiǎn)單!
兩年致力于現(xiàn)代房屋構(gòu)建新模式的轉(zhuǎn)型。在集裝箱創(chuàng)意,集裝箱展臺(tái),集裝箱房屋設(shè)計(jì)上投入了大量的人力物力以期待在市場(chǎng)上取得良好的反響。好的產(chǎn)品好的創(chuàng)意是一個(gè)企業(yè)在社會(huì)上發(fā)展的根本。優(yōu)良的集裝箱制作工藝,在房...
格式:pdf
大?。?span id="dzfz1en" class="single-tag-height">767KB
頁(yè)數(shù): 4頁(yè)
評(píng)分: 4.7
隨著對(duì)篩選測(cè)試質(zhì)量的要求越來(lái)越高,測(cè)試數(shù)據(jù)量也越來(lái)越大,且不同測(cè)試機(jī)臺(tái)有不同測(cè)試數(shù)據(jù)格式。面對(duì)海量且格式不一的測(cè)試數(shù)據(jù),測(cè)試工程師需要一項(xiàng)項(xiàng)手動(dòng)提取并整理分析,這使得批量的數(shù)據(jù)分析工作耗時(shí)長(zhǎng)、易出錯(cuò)。為了提高測(cè)試數(shù)據(jù)提取分析的效率和準(zhǔn)確度,減輕測(cè)試工程師的壓力,本文設(shè)計(jì)了一種基于Perl語(yǔ)言的測(cè)試數(shù)據(jù)提取分析自動(dòng)化工具。該工具可以自動(dòng)的批量提取整理數(shù)據(jù),并標(biāo)記超限數(shù)據(jù),且能根據(jù)要求輸出統(tǒng)計(jì)圖形。該工具大大縮短了測(cè)試數(shù)據(jù)整理分析時(shí)間,且錯(cuò)誤率為0。
PERL電池 —— 高效晶體硅太陽(yáng)能電池
PERL電池 —— 高效晶體硅太陽(yáng)能電池
每個(gè)標(biāo)準(zhǔn)模塊、類(lèi)模塊和窗體模塊都可包含:
聲明:可將常數(shù)、類(lèi)型、變量和動(dòng)態(tài)鏈接庫(kù) (DLL) 過(guò)程的聲明放在窗體、類(lèi)或標(biāo)準(zhǔn)模塊的模塊級(jí)。
過(guò)程:Sub、Function 或者 Property 過(guò)程包含可以作為單元來(lái)執(zhí)行的代碼片段。
開(kāi)關(guān)模塊的基本原理是由繼電器輸出控制電源的開(kāi)關(guān),從而控制光源。
輸入模塊的基本原理是接受無(wú)源接點(diǎn)信號(hào)
用于連接照度探測(cè)、存在探測(cè)、移動(dòng)探測(cè)等傳感器