perl中創(chuàng)建數(shù)組時(shí),可以使用到qw。
但有一個(gè)問題,如果要?jiǎng)?chuàng)建有20個(gè)人名組成的數(shù)組,并且每個(gè)人的名字是這種形式的"Join smith" "Harry Potter"也就是每一個(gè)名字既包含姓也包含名。此時(shí),qw就不起作用了。因?yàn)閝w是用空格作為分隔符。
下面提供一些替代的解決方案,供大家參考。
方案一:
用最原始的方案,也就是雙引號(hào),來進(jìn)行數(shù)組的創(chuàng)建
復(fù)制代碼 代碼如下:
@names=("Join smith","Harry Potter");
print @names[0];
結(jié)果如下:
F:\&;perl\b.pl
Join smith
F:\&;
方案二:
我們可以進(jìn)行一下簡(jiǎn)單的變通,qw只能以空格為分隔符,那我們把人名中間的空格用其他的字符進(jìn)行替代。
@names=qw/Join_smith Harry_Potter/;
#然后當(dāng)我們輸出的時(shí)候我們?cè)侔阎虚g的連接符進(jìn)行替換
復(fù)制代碼 代碼如下:
@names[0]=~s/_/ /g;
print @names[0];
結(jié)果如下;
F:\&;perl\b.pl
Join smith
F:\&;
方案三:
利用split函數(shù)進(jìn)行創(chuàng)建。
復(fù)制代碼 代碼如下:
#首先我們定義一個(gè)變量
$names="Join smith,Harry potter",
#這里利用split函數(shù),這里split//兩個(gè)斜線之間就是你要分割的地方,本例中以逗號(hào)為分割界限
my @names=split/,/,$names;
rint @names[0];
結(jié)果如下:
F:\&;perl\b.pl
Join smith
F:\&;