1. 程式人生 > >用Perl內建的函式更改大小寫

用Perl內建的函式更改大小寫

Perl提供了四個內建的函式類,從而能夠輕鬆地改變字元和字的大小寫。函式uc()會用大寫返回其所有的引數,而lc()會用小寫返回其引數。如果沒有指定引數的話,uc()和lc()都會對$_變數進行操作。
要改變字的首字母的大小寫,就要使用ucfirst()和lcfirst()。和uc()以及lc()類似,如果沒有指定引數,ucfirst()和lcfirst()會對$_變數進行操作。
這四個函式都不會改變其引數;它們只是會返回其引數的副本,而這個副本經過了改變。所以,你必須將結果分派給一個變數或者列印它,或者用其他的方式使用返回的值。像下面這樣做是一個常見的錯誤:


$a = 'hello';
uc($a);
print $a;


第一眼看上去,你可能會預計這段程式碼將列印“HELLO”。但是,由於uc()沒有更改其引數,所以它的結果只打印了小寫的“hello”。要獲得預期的結果,就要使用像下面這樣的程式碼:

$a = 'hello';
$a = uc($a);
print $a;

更改字的大小寫的另一種方式,是對雙引號裡面的字串使用/L和/U逸出序列。使用下面的程式碼你可以獲得與前面相同的結果:

$a = 'hello';
print "/U$a/E";

逸出字元/E會結束前面逸出字元(在這裡是/U)開始的內容。

利用Perl內建的大寫和小寫函式,以及雙引號裡的逸出字元/U和/L,改變(字元的)大小寫是很容易的。