中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Perl語言編程特殊技巧
來源:易賢網 閱讀:1013 次 日期:2015-08-21 16:37:48
溫馨提示:易賢網小編為您整理了“Perl語言編程特殊技巧”,方便廣大網友查閱!

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手冊的變量部分得到。

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:Perl語言編程特殊技巧
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
中文国产亚洲喷潮| 亚洲图片欧洲图片日韩av| 国内精品国产成人| 一本色道久久综合精品竹菊| 欧美成黄导航| 在线观看亚洲视频| 久久精品一区二区三区中文字幕 | 亚洲国产黄色| 亚洲精品欧洲| 欧美华人在线视频| 亚洲日本va午夜在线电影| 亚洲男同1069视频| 国产精品午夜视频| 午夜精品久久久久久久99黑人| 国产精品成人一区| 亚洲伊人一本大道中文字幕| 国产精品嫩草99av在线| 亚洲欧美日韩中文播放| 国产日韩欧美三级| 久久久久www| 在线观看日韩av先锋影音电影院| 久久aⅴ国产欧美74aaa| 国产午夜精品一区理论片飘花| 欧美一激情一区二区三区| 国产欧美一区二区精品性色| 久久国产欧美日韩精品| 欧美日韩精品综合| 在线亚洲精品福利网址导航| 国产精品毛片a∨一区二区三区|国| 亚洲欧美日韩天堂| 国产原创一区二区| 毛片精品免费在线观看| 亚洲伦理在线| 国产精品国产三级国产| 亚洲一区二区三区四区中文| 国产精品区二区三区日本| 欧美在线一二三| 亚洲高清一区二| 欧美日韩大片| 欧美亚洲尤物久久| 在线成人av| 欧美日韩国产首页| 欧美一级欧美一级在线播放| 在线播放国产一区中文字幕剧情欧美| 欧美成年人网站| 国产精品99久久不卡二区| 国产欧美日韩免费看aⅴ视频| 久久久精品一区| 日韩视频不卡| 国产日韩欧美综合精品| 欧美韩日一区二区| 亚洲女女做受ⅹxx高潮| 在线观看欧美成人| 欧美日韩国产综合视频在线| 香蕉久久一区二区不卡无毒影院 | 欧美成人一区二区三区在线观看| 一本色道久久综合亚洲精品高清| 国产精品毛片一区二区三区| 久久久一二三| 亚洲制服少妇| 国产精品劲爆视频| 麻豆精品在线视频| 亚洲伊人网站| 一区二区在线观看视频| 欧美日韩岛国| 亚洲国产欧美在线人成| 久久国产精品99国产| 欧美午夜精品久久久久久浪潮 | 欧美日本在线播放| 国产专区欧美精品| 久久九九99| 亚洲精品日韩欧美| 99热在线精品观看| 国产欧美日韩麻豆91| 久久中文字幕一区| 亚洲一区二区三区激情| 国产一区亚洲一区| 欧美日产一区二区三区在线观看| 亚洲欧美亚洲| 国产色婷婷国产综合在线理论片a| 欧美一区二区三区在| 亚洲激情校园春色| 国产精品日韩精品欧美精品| 久久夜色精品国产噜噜av| 一二三区精品福利视频| 一区在线观看视频| 国产精品国产成人国产三级| 美女诱惑黄网站一区| 亚洲欧美精品一区| 欧美日韩亚洲一区二| 亚洲欧美激情诱惑| 亚洲高清电影| 国产欧美日韩免费| 欧美视频一区在线| 男人插女人欧美| 欧美中文字幕在线观看| 一区二区亚洲| 国产欧美一级| 国产精品久久久久aaaa樱花| 欧美成熟视频| 久久亚洲二区| 欧美一区在线视频| 狠狠色香婷婷久久亚洲精品| 欧美激情国产日韩| 亚洲一区二区三区久久| 亚洲精品九九| 亚洲电影免费观看高清完整版在线| 国产精品永久在线| 欧美午夜电影完整版| 欧美精品精品一区| 免费在线日韩av| 久久香蕉国产线看观看网| 亚洲精品小视频| 亚洲日本成人在线观看| 黄色日韩在线| 国产色婷婷国产综合在线理论片a| 欧美三级精品| 欧美视频一区二区三区在线观看 | 久久久久国产精品厨房| 亚洲欧美制服另类日韩| 99在线精品视频在线观看| 亚洲精品乱码久久久久久日本蜜臀| 在线观看日韩| 在线免费观看欧美| 国产视频观看一区| 尤物yw午夜国产精品视频明星| 国产一区二区三区在线观看精品| 欧美成人精品三级在线观看| 亚洲欧美日韩国产综合| 国产精品xxxxx| 欧美日韩在线高清| 久久久久国产精品www| 欧美专区18| 久久久久国产精品一区| 麻豆成人在线| 欧美成年人在线观看| 久久人人爽人人爽| 久久亚洲春色中文字幕| 久久久伊人欧美| 免费亚洲电影在线| 久久日韩粉嫩一区二区三区| 中国成人亚色综合网站| 亚洲图片激情小说| 亚洲欧美日韩精品| 久久精品国产亚洲精品| 欧美在线免费| 欧美gay视频激情| 欧美国产成人精品| 欧美日韩一区二| 国产免费亚洲高清| 国产欧美精品一区二区色综合 | 久久国产免费看| 欧美一级欧美一级在线播放| 亚洲一区二区影院| 欧美在线免费观看| 噜噜噜在线观看免费视频日韩| 欧美成人免费一级人片100| 欧美日韩国产在线播放| 免费在线看一区| 久久在线免费观看| 欧美日韩国产精品自在自线| 欧美特黄一区| 狠色狠色综合久久| 亚洲国产精品欧美一二99| 亚洲免费观看高清完整版在线观看| 亚洲一级一区| 久久久久久久综合色一本| 久久精品在线| 午夜精品久久久久久久久久久| 久久天天躁夜夜躁狠狠躁2022| 欧美精品一区二区精品网| 国产精品尤物| 影音先锋国产精品| 夜久久久久久| 久久久无码精品亚洲日韩按摩| 欧美日本在线看| 极品日韩av| 欧美日产一区二区三区在线观看| 国产精品入口福利| 亚洲国产精品久久91精品| 欧美一级片一区| 欧美午夜a级限制福利片| 亚洲第一主播视频| 亚洲免费电影在线观看| 欧美在线视频观看| 欧美日韩精品一区二区三区四区| 国产自产精品| 伊人夜夜躁av伊人久久| 国产日韩欧美综合精品| 日韩网站在线观看| 久久久亚洲高清| 国产精品精品视频| 在线欧美小视频| aa日韩免费精品视频一| 999在线观看精品免费不卡网站| 久久久夜精品| 国产日韩欧美不卡| 国产精品久久久久影院色老大| 亚洲精品麻豆| 麻豆精品在线播放|