perl qw以空格為分隔符問題的解決方法
perl中創(chuàng)建數(shù)組時,可以使用到qw。
但有一個問題,如果要創(chuàng)建有20個人名組成的數(shù)組,并且每個人的名字是這種形式的"Join smith" "Harry Potter"也就是每一個名字既包含姓也包含名。此時,qw就不起作用了。因為qw是用空格作為分隔符。
下面提供一些替代的解決方案,供大家參考。
方案一:
用最原始的方案,也就是雙引號,來進(jìn)行數(shù)組的創(chuàng)建
@names=("Join smith","Harry Potter");
print @names[0];
結(jié)果如下:
F:\>perl\b.pl
Join smith
F:\>
方案二:
我們可以進(jìn)行一下簡單的變通,qw只能以空格為分隔符,那我們把人名中間的空格用其他的字符進(jìn)行替代。
@names=qw/Join_smith Harry_Potter/;
#然后當(dāng)我們輸出的時候我們再把中間的連接符進(jìn)行替換
@names[0]=~s/_/ /g;
print @names[0];
結(jié)果如下;
F:\>perl\b.pl
Join smith
F:\>
方案三:
利用split函數(shù)進(jìn)行創(chuàng)建。
#首先我們定義一個變量
$names="Join smith,Harry potter",
#這里利用split函數(shù),這里split//兩個斜線之間就是你要分割的地方,本例中以逗號為分割界限
my @names=split/,/,$names;
rint @names[0];
結(jié)果如下:
F:\>perl\b.pl
Join smith
F:\>
相關(guān)文章
perl如何避免腳本在windows中閃一下就關(guān)閉
寫好了perl程序,運行后,準(zhǔn)備等待結(jié)果輸出時,結(jié)果雙擊后,看到屏幕閃了一下,然后什么都沒有了,根本沒有機(jī)會然你看到輸出的結(jié)果2013-03-03perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區(qū)分行
默認(rèn)狀態(tài)下,很顯然都是用\n來區(qū)分行,\n也被我們稱作為換行符。當(dāng)讀取序列時,按行來讀取時,就是以換行符為標(biāo)準(zhǔn)2013-03-03- fdupe 是一個很小的 Perl 腳本,用來檢索指定目錄并找出其中重復(fù)的文件,該腳本是通過文件內(nèi)容來識別是否重復(fù)文件,而非文件名。fdupe 無需其他 Perl 腳本支持,運行速度非???/div> 2013-03-03
最新評論