日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Perl > 正文

Perl語言編程特殊技巧

2024-09-08 23:41:18
字體:
來源:轉載
供稿:網友

perl語言因其能夠用較少的空間表達復雜的命令而出名,本文將探討perl語言是如何實現這些功能。

我們將從一個最簡單的小程序開始,它的功能是從鍵盤輸入字符,然后將其送到控制臺。采用perl語言實現,你可以會這樣寫:

while ($line = <stdin>) {

print $line;

}

一開始這一程序已十分簡潔,但是它的每條語句是什么意思呢?簡單地說,<stdin>是一個專用的文件句柄,在本例中它屬于標準輸入緩存(稱為stdin),通常是連接到鍵盤。每次我們將<stdin>的值賦給變量$line時,即為將stdin緩存中的首行取出,然后放入$line。當到達緩存最后一行時,就會取出while語句判斷條件為假的(eof)文件結束標識符。程序的其它部分很簡單可以這樣解釋。現在我們已經將輸入信息放入$line變量,接著我們就可以用print函數將其打印到屏幕。或者更準確地說,打印到通常連接顯示器的標準輸入緩存。標準輸入和輸出緩存都可以重定向,例如可重定向到保存程序結果的某個文件中,如果是在處理文本,那么通常可以認為這與鍵盤及顯示器是等價的。

你可能會認為這一程序已經是最短的了,但是通過使用perl的特殊變量,它還可以更短。

默認數據變量:$_

perl有很多特殊變量,它們在程序運行過程中被自動分配,可用于訪問程序本身的一些信息,諸如程序名或者進程id號、命令行參數、或最后一個表達式的運算結果。這些變量中最經常使用也可能是最有用的是$_這一默認變量。如果你在程序中未指明,默認變量作為某個未分配的功能變量,用于保存一些perl結構體和函數的運算結果。在你熟悉perl之前這可能聽起來令人費解,但是它的功能的確很強大。我們可以用變量$_來取消程序中的$line變量:

while (<stdin>) {

print $_;

}

這一程序和前一個是等價的,即使在測試條件while語句中我們僅使用到一個文件句柄。程序將輸入存入到默認變量,所以當我們要輸出時就可以用變量$_訪問輸入的信息。但是我們還可以把程序變得更短,記住我說過,$_是一個用于未定義的實現某個功能的默認變量,這樣打印是它其中的一個功能,所以我們現在可以把程序這樣來寫:

while (<stdin>) {

print;

}

現在我們得到實現同樣功能的程序,但是該程序消除了所有外部變量。因為我們僅僅是將stdin和stdout連在一起。如果我們能夠去掉while循環則會更好,這一循環無非是在重復的將數據從一個緩存移到另一個。這一過程也可以用下面的語句實現:

print <stdin>;

這個程序的工作過程有點復雜。當采用$_實現打印時,我們是將一個變量放在另一個稱為標量變量的情況下。簡單地說就是它將這一變量看作一個對象,比如可以是一個數或者一個字符,但并不是一個集合。打印函數也可以采用在一組標量的方式,即將變量看作一系列對象,當我們使用打印函數時,它將輪流打印每一個。當我們使用句柄<stdin>進行打印時,它將把標準輸入看作一個字符序列,依次打印。這和while循環實現一樣的功能。

這可能是一個極端的例子,但是使用一些perl編程技巧,可以將我們的程序長度減少一半。

如果我們僅僅想把stdin影射到stnout,這樣做很好。但是如果我們想使我們的程序像unix中的可以打開和打印文件的cat一樣時,應該怎么做?我們可能要檢查命令行參數,以確定它們是不是有效文件,然后依次打開和打印它們。但是這么一個很平常的事情,perl語言可以使用更簡單更短的方法實現。

特殊的文件句柄:<>

像其它的默認變量一樣,perl語言的這一寫為<>的特殊句柄可以使程序編寫更容易。這個文件句柄將所有命令行參數都看作文件名,依次打開它們。如果沒有命令行參數,那么就從stdin讀入。像unix中的習慣用法per一樣,如果將“-”用作命令行參數,它將會打開stdin代替一個文件。因此如果我們想編寫一個像上面提到的可以支持命令行中的文件的程序,這很簡單,可以這樣寫:

print <>;

當你考慮到perl可以僅用8條語句寫一個實現cat功能的程序時,你就會明白為什么perl被認為功能強大。但是如果我們想在輸入上面實現一些更重要的功能而不是僅僅將其寫回顯示器上,這該怎樣實現?

記錄行數

如果我們想單個處理每一行輸入,這時僅將文件句柄連到打印是不夠的。讓我們看一個在每行輸入上加上行號的一個小程序。

$num = 0;

while (<>) {

$num = $num + 1;

print "$numt$_";

}

在這一例子中我們使用$num變量來記錄行號,每輸入一行,我們將其加一,然后將行號和輸入內容一起輸出。當我們在字符串中使用由雙引號括起的變量時,這一變量名將會用它的內容來代替,這使得perl中的格式化輸出變得輕而易舉。

僅這幾個簡單的程序,我們就可以看出使用特殊變量可讓你編寫更小更快的程序。如果你感興趣,perl所有特殊變量的用法可以在perl手冊的變量部分得到。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产精久久久久| 欧美日韩国产不卡| 国产99对白在线播放| 日韩精品在线第一页| 婷婷精品视频| 在线观看一区日韩| 国产成人精品三级| 欧美日韩视频不卡| 亚洲成av人片在线| 欧美日韩在线不卡| 91精品婷婷国产综合久久竹菊| 亚洲成av人片在线| 日韩欧美99| 中文字幕乱码在线| 在线看av的网址| 国产不卡精品在线| 91精品国产自产| 国内国产区免费视频| 亚洲免费专区| 在线国产99| 日本一级一片免费视频| 国产1区在线| 欧美日韩第一| 日韩.欧美.亚洲| 97最新国自产拍视频在线完整在线看 | 深夜福利一区| 最新日韩中文字幕| 国产精久久久久| 精品久久在线| 国产成人精品av久久| 蜜桃视频一日韩欧美专区| 日韩精品视频在线看| 国产日韩精品久久久| 国产性一级片| 一区二区三区在线不卡| 91最新在线| 欧美日韩在线不卡一区| 久久99蜜桃精品| 国产xxx在线| 欧美日韩在线视频一区| 国产日韩精品在线看| 亚洲成av人片| 国产激情久久| 欧美亚洲国产激情| av午夜在线| www在线视频| 在线精品日韩| 欧美一卡2卡3卡4卡| 免费视频久久| 一级免费a一片| 91久久大香伊蕉在人线| 精品对白一区国产伦| 不卡一二三区| 国产永久免费高清在线观看| 欧美日韩免费精品| 91精品久久久久久久久久| 亚洲第一网中文字幕| 91久久久久| 日韩精品福利一区二区三区| 日韩网站中文字幕| 一区在线免费| 91精品国产经典在线观看| 日韩午夜中文字幕| 在线观看区一区二| 中文在线不卡视频| 欧美三级日韩三级| 日韩三级视频在线播放| 国产在线观看色| 在线一区免费| 欧美日韩国产页| 日韩中文字幕国产| xxxxx性| 99pao成人国产永久免费视频| 国产黄在线播放| 日韩视频一区| 91精品国产综合久久久久久| 欧美亚洲另类制服自拍| 中文字幕无线码一区| 欧美亚洲国产免费| 成人xxxx| 日韩中文字幕久久| 欧美日韩国产免费观看| 亚洲高清不卡一区| 一区免费视频| 日韩精品福利视频| 69堂精品视频在线播放| 欧美日韩综合在线| 国产色综合网| 国产欧美日韩综合精品| 精品1区2区3区| 欧美在线亚洲一区| 99视频一区| 内射国产内射夫妻免费频道| 99国产成 人 综合 亚洲欧美| 欧美日韩在线观看一区| 中文字幕精品在线| 美女尤物久久精品| 国产永久免费高清在线观看| 国产午夜精品视频免费不卡69堂 | 国产在线拍偷自揄拍精品| 在线观看免费国产小视频| 午夜一区二区三区视频| 99视频精品全国免费| 91精品国产免费久久综合| 日韩精品在线第一页| 欧美日韩综合高清一区二区| 欧美日韩中文字幕日韩欧美| 亚洲乱码视频| 在线视频色在线| 日韩精品手机在线| 日韩视频在线一区| 中文字幕一区不卡| 日韩精品在线观看视频| 欧美日韩午夜在线视频| 男人的天堂网av| 日韩中文字幕第一页| 中文字幕视频一区二区三区久| 精品一二三区| 国产一区久久久| 亚洲va中文字幕| 欧美日韩日本视频| 久久99久久久欧美国产| 国产 欧美在线| 91精品久久久久久久久久| 欧美日韩国产在线观看| 一区二区在线高清视频| 久久永久免费视频| 国产1区在线| 一区二区国产在线| 国产欧美日韩中文久久| 欧美在线视频二区| 精品一二三四| 中文字幕欧美日韩精品| 极品久久久久久| 欧洲一级精品| 日韩国产一区久久| 天堂精品高清1区2区3区| 欧美黄页在线免费观看| 欧美三级三级三级爽爽爽| 久草亚洲一区| 中文字幕在线亚洲| 国产一级视频| 欧美日韩高清一区二区不卡| 二区视频在线观看| 欧美黄页在线免费观看| 久久99久久99精品中文字幕| 亚洲羞羞网站| 日韩在线视频在线观看| 亚洲午夜91| 欧美日韩综合在线观看| 色综合久久六月婷婷中文字幕| 亚洲精品中文字幕乱码三区不卡| 亚洲一级二级| 影音先锋一区二区资源站| 欧美日韩三级一区| 亚洲综合三区| 国产视频1区| 日韩精品大片| 不卡一区二区三区视频| 日韩中文欧美在线| 国产1卡2卡三卡四卡网站| 日韩在线视频免费观看| 国产午夜精品视频| 精品视频在线导航| 日韩欧美高清在线| 深夜日韩欧美| 日本啊v在线| 在线黄色国产电影| 久久人人88| 日韩欧美在线精品| 亚洲三级欧美| 欧美日韩亚洲综合在线| av不卡免费看| 欧美日韩高清| 在线欧美日韩精品| 久久久精品国产免费观看同学| 国产日韩综合| 日韩欧美在线网站| 色综合久久六月婷婷中文字幕| 美女免费视频一区| 午夜伊人狠狠久久| 日韩欧美国产网站| 91精品国产综合久久久蜜臀粉嫩| 一区二区在线观看不卡| 91精品国产综合久久香蕉的特点| 日韩精品免费观看视频| 日韩视频一区| 天天综合色天天| 国产不卡的av| 国产视频一区三区| 精品日韩视频在线观看| 欧美日韩国产一二| 亚洲福利精品| 日韩精品视频在线观看视频| 国产男女av| 91精品国产综合久久精品| 国产三级视频网站| 午夜亚洲一区| 欧美日韩不卡在线视频| 国产农村妇女精品一二区| 一级特黄大欧美久久久| 精品中文字幕视频| 国产在线精品国自产拍免费| 久久精品国产2020观看福利| 尤物在线精品| 精品日韩欧美| 欧美日韩第一区日日骚| av免费在线播放| 欧美日韩中文字幕一区| 欧美 亚洲 精品 三区| 一区二区在线高清视频| 日韩欧美一卡二卡| 不卡福利视频| 日韩在线视频观看正片免费网站| 最近中文字幕在线中文视频| 国产精品一区二区三区免费观看| 999精品色在线播放| 99精品免费观看| 日韩视频在线一区二区| 国产字幕在线看| 精品人妻二区中文字幕| 欧美三级视频在线| 欧美日韩国产综合视频在线观看中文| 不卡福利视频| 99视频一区| 91精品观看| 在线中文字幕视频观看| 一区二区三区在线|网站| 欧美日韩精品不卡| 欧美日韩在线看| 国产亚洲视频中文字幕视频| 国产在线欧美| 日韩色在线观看| 蜜臀91精品国产高清在线观看| 顶级网黄在线播放| а√天堂8资源中文在线| 蜜臀久久精品| 精品视频—区二区三区免费| 日韩精品在线视频| 日韩欧美亚洲国产一区| 亚洲第一中文字幕在线观看| 精品日韩在线| 91精品国产91综合久久蜜臀| 日韩在线视频观看正片免费网站| 韩国v欧美v日本v亚洲| 中文字幕精品一区二| a天堂在线资源| 国产激情在线播放| 日韩你懂的电影在线观看| 欧美日韩高清在线| 婷婷中文字幕在线观看| 综合激情一区| 国产色在线视频| 在线日韩中文| 在线视频不卡一区二区| 国产黄色在线播放| 91xxx在线观看| 亚洲成av人综合在线观看| 日韩欧美成人一区二区三区| 中文字幕在线视频久| 91精品国产丝袜白色高跟鞋| 91一区二区| 国产免费不卡av| 欧美激情一区二区三区在线| 中文字幕在线视频精品| 精品在线一区二区| 最新中文字幕在线| 欧美日韩不卡在线视频| 久久99久久久久| 亚洲小说春色综合另类电影| 欧美色视频一区二区三区在线观看| 老司机久久99久久精品播放免费| 欧美 日韩 国产在线| 精品福利一区二区三区| 樱花草www在线观看| 深夜福利一区二区| 中文字幕不卡三区| 国产欧美三级| 在线免费91| 中文字幕第一页在线| 日韩视频在线免费看| 91精品国产入口| 91精品国产全国免费观看| 日韩欧美一级二级三级久久久 | 欧美日韩国产第一页| 亚洲成年网站在线观看| 国产一区日韩欧美| 在线观看国产福利视频| 国产成免费视频| 国产网站av| 91最新在线| 亚洲欧美日本国产专区一区| 1区2区在线| 69av亚洲| 国产欧美一级| 日韩精品中文在线观看| 欧美激情视频一区二区三区在线播放| 国产一卡2卡3卡4卡网站免费| 亚洲一二三不卡| 日韩欧美国产亚洲| 免费看ww视频网站入口| 久本草在线中文字幕亚洲欧美| 亚洲女人天堂a在线播放| 九七久久人人| 国产综合成人久久大片91 | 欧美日韩中文字幕一区| 亚洲综合日韩中文字幕v在线| 欧美日韩国产高清视频| 国产黄色小视频| 在线看欧美日韩| 久久99久久99精品中文字幕| 国产不卡在线| 国产久卡久卡久卡久卡视频精品| 亚洲高清中文字幕| 亚洲一区日韩精品中文字幕| 国产日韩精品电影| 国产h片在线观看| 欧美日韩亚洲91| 在线视频一区二区三区在线播放| 日韩精品高清不卡| 欧美日韩高清在线播放| 日韩欧美不卡视频| 国产欧美中文在线| 国产日产一区二区三区| 国产亚洲欧美中文| 国产一卡2卡3卡四卡网站| 亚洲影视资源网| 91蜜桃在线视频| 深夜福利一区二区| 91精品国产91久久久久久青草| 国产欧美日韩综合| 国产在线www| 久久精品人妻一区二区三区| 色综合天天综合网国产成人综合天| 国产在线视频不卡| 中文字幕亚洲国产| 亚洲欧美视频一区二区三区| 午夜私人影院在线观看| 欧美三级在线播放| 亚洲高清中文字幕| 欧美日韩午夜精品| 欧美日韩视频网站| 国产资源在线观看| 日韩欧美不卡视频| 日韩美女中文字幕| 中文网丁香综合网| 一区二区在线高清视频| 欧美日韩高清在线播放| 中文字幕亚洲区| 欧美日韩精品国产| 欧美三级三级三级爽爽爽| 久久99精品国产| 欧美日韩亚洲系列| 色偷偷一区二区三区| 欧美三级在线看| 欧美在线日韩在线| 中文字幕日韩国产| 亚洲社区在线| 色综合天天性综合| 日韩精品视频免费在线观看| 日韩三级高清在线| 亚洲电影中文字幕在线观看| 国产成人综合av| 精品成人久久久| 久久91精品视频| 亚洲福利在线看| 欧美三级中文字幕在线观看| 欧洲精品在线一区| 中文字幕 乱码 中文乱码91| 中文字幕在线视频网| 日韩欧美中文在线| 日韩视频在线一区| 在线视频三区| 国产日韩精品久久久| 精品欧美日韩| 亚洲福利精品| 日韩欧美999| 欧美日韩一二三四| 91精品视频观看| 久久视频一区| 欧美日韩在线不卡一区| 日韩福利视频导航| 视频一区三区| 日本精品在线中文字幕| 欧美在线日韩在线| 亚洲国产欧美久久| 亚洲免费在线观看av| 欧美日韩精品中文字幕| 国产精品一区二三区| 一区二区三区久久| 日韩视频中文| 中文字幕精品一区二| 国产在线不卡一区| 国产视频1区| 中文字幕成人乱码在线电影| 91精品国产自产91精品| 在线日韩中文字幕| 日韩欧美综合在线| 日韩视频一区二区在线观看| 国产黄色在线免费观看|