Perl字符串中標(biāo)量變量的內(nèi)插
本文和大家重點(diǎn)討論一下Perl字符串中標(biāo)量變量的內(nèi)插,當(dāng)一個(gè)Perl字符串由雙引號(hào)括起來(lái)時(shí),如果變量前沒有反斜線,則變量會(huì)被其值內(nèi)插。也就是說Perl字符串中的標(biāo)量變量將被其值替換。
Perl字符串中標(biāo)量變量的內(nèi)插
當(dāng)一個(gè)Perl字符串由雙引號(hào)括起來(lái)時(shí),如果變量前沒有反斜線,則變量會(huì)被其值內(nèi)插。也就是說Perl字符串中的標(biāo)量變量將被其值替換。
$mean=“brontosaurussteak”;
$barney=“fredatea$meal”;#$barney現(xiàn)在是“fredateabrontosaurussteak”
$barney=‘fredatea’.$meal;#同上
由此可見,不使用雙引號(hào)也可以得到相同的結(jié)果。但使用雙引號(hào)更方便些。
◆如果一個(gè)變量未被賦值,則將使用空值替換:
這是一種特殊的未定義值,undef
$barney=“fredatea$meat”;#$barney現(xiàn)在是“fredatea”;
◆如果使用的是單獨(dú)一個(gè)變量,是否使用引號(hào)沒有影響。如:
print“$fred”;#引號(hào)是沒有必要的
print$fred;#更好的寫法
在Perl字符串中變量前($符號(hào)前)加上反斜線(\),變量將不會(huì)被內(nèi)插(替換):
$fred=‘hello’;
print“Thenameis\$fred.\n”;#打印出美圓符號(hào),變量不會(huì)被其值替換
print‘Thenameis$fred’.“\n”;#同上
變量名將是Perl字符串中有意義的最長(zhǎng)的那一個(gè)。這可能在當(dāng)你需要在某次匹配就替換的情況下出問題。Perl提供了一種類似于shell的分隔符:花括號(hào)({})。用花括號(hào)將變量名括起來(lái)?;蛘邔erl字符串分隔成幾個(gè)部分,再用連接符(.)串起來(lái):
$what=“brontosaurussteak”;
$n=3;
print“fredate$n$whats.\n”;#不是steaks,而是$whats的值
print“fredate$n${what}s.\n”;#現(xiàn)在是使用變量$what
print“fredate$n$what”.“s.\n”;#另一種方法
print‘fredate’.$n.‘’.$what.“s.\n”;#一種復(fù)雜的方法
【編輯推薦】