国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

Perl中的特殊內置變量詳細介紹

2020-06-04 20:32:18
字體:
來源:轉載
供稿:網友

內置變量 $_:

先來看一個例子:
代碼如下:
#!/usr/bin/perl -w
@array = qw(a b c d);
foreach (@array) {
 print $_," ";
}
例子的作用就是定義一個數組并把其中的元素打印出來,這里需要注意的是foreach循環部分,foreach循環的標準格式應該是:
代碼如下:foreach $element (@array){
 ......
}
其中數組@array將其中的元素依次賦值給$element,但是在上面那個程序中,我并沒有這樣做,在程序中,我就使用到了perl中內置的一個特殊變量 $_
在程序第五行中 foreach (@array) 實際上就是等于 foreach $_ (@array),在這里, $_是默認是輸入/輸出,因此,如果在程序中有類似的沒有明確聲明的變量位置的時候,就有可能能使用$_代替

內置變量 $$:

代碼如下:perl -e "sleep(5);  print qq (The PID of process perl.exe is : $$)";  
這是一句命令行上使用的perl程序,作用就是打印出一段話:print qq(The PID of process perl.exe is : $$) ,在這里,存在著特殊變量$$ ;
$$是當前perl解析器的進程ID(即,PID),大家可以將在段程序寫在命令行上,該程序會在perl解析器運行5秒后打印出perl解析器的進程ID,大家可以在程序運行期間通過查看進程列表來確定打印結果是否正確。

內置變量 $!:


接下來是一個用來返回錯誤信息(或是錯誤號)的特殊變量。
為了省事,不寫程序了,還是來個命令行的吧
代碼如下:perl -e "opendir FH,'c: one' or die qq (can't open:$!);";
這句話就是要打開C盤下的一個none目錄(而實際上我的C盤中并沒有此目錄,之所以這樣寫的目的就是為了引起一個程序中的錯誤信息),如果沒有打開的話,會執行后面的die qq(can't open:$!)
在這里,$!就指明了錯誤信息的內容,命令行會返回錯誤信息:
代碼如下:can't open:No such file or directory at -e line 1.
$!在open或是opendir中用的比較多(無論是打開文件還是管道或是其他)。

來個例子,說一個有意思的特殊內置變量
代碼如下:$text = "C:/test.txt";
{
 open FH,$text or die "can't open:$!";
 my $line = ;
 close FH;
 print $line;
}
print "#===========================# ";
{
 undef $/;
 open FH,$text or die "can't open:$!";
 my $line = ;
 close FH;
 print $line;
}
=================================
C盤下的test.txt的內容是:
111111111111111111111111111
222222222222222222222222222
333333333333333333333333333
=================================
好,程序的運行結果是:
111111111111111111111111111
#===========================#
111111111111111111111111111
222222222222222222222222222
333333333333333333333333333

程序就不多廢話了,作用就是讀文件,關鍵部分在“$line = ”,尖括號操作符(即,<>)作用是讀取一行文件內容(相信大多數教程或是書上都是這么寫的),但是,這里所說的一行,實際上是有一個標準的,那就是當perl在遇到了換行符后,邊認為是一行,而換行符默認情況下是由于$/這個特殊變量定義的,是缺省值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大宁县| 潜江市| 岗巴县| 巴南区| 乌拉特中旗| 柘城县| 长汀县| 永兴县| 深泽县| 达孜县| 宿松县| 平远县| 晋中市| 青岛市| 辰溪县| 阿拉尔市| 绥滨县| 额济纳旗| 余姚市| 文化| 吴川市| 怀集县| 开平市| 高密市| 松桃| 驻马店市| 育儿| 化隆| 即墨市| 巴林右旗| 大洼县| 鄂伦春自治旗| 桓仁| 内江市| 瑞金市| 教育| 大竹县| 武山县| 基隆市| 乌兰浩特市| 日喀则市|