大小寫字母轉(zhuǎn)換:
函數(shù) uc
(uppercase) 將所有的小寫字母轉(zhuǎn)成大寫;
函數(shù) lc
(lowercase) 將所有的大寫字母轉(zhuǎn)成小寫;
Perl提供了四個(gè)內(nèi)置的函數(shù)類,從而能夠輕松地改變字符和字的大小寫。函數(shù)uc()會(huì)用大寫返回其所有的參數(shù),而lc()會(huì)用小寫返回其參數(shù)。如果沒有指定參數(shù)的話,uc()和lc()都會(huì)對(duì)$_變量進(jìn)行操作。
要改變字的首字母的大小寫,就要使用ucfirst()和lcfirst()。和uc()以及l(fā)c()類似,如果沒有指定參數(shù),ucfirst()和lcfirst()會(huì)對(duì)$_變量進(jìn)行操作。
這四個(gè)函數(shù)都不會(huì)改變其參數(shù);它們只是會(huì)返回其參數(shù)的副本,而這個(gè)副本經(jīng)過(guò)了改變。所以,你必須將結(jié)果分派給一個(gè)變量或者打印它,或者用其他的方式使用返回的值。像下面這樣做是一個(gè)常見的錯(cuò)誤:
$a = 'hello';
uc($a);
print $a;
第一眼看上去,你可能會(huì)預(yù)計(jì)這段代碼將打印“HELLO”。但是,由于uc()沒有更改其參數(shù),所以它的結(jié)果只打印了小寫的“hello”。要獲得預(yù)期的結(jié)果,就要使用像下面這樣的代碼:
$a = 'hello';
$a = uc($a);
print $a;
更改字的大小寫的另一種方式,是對(duì)雙引號(hào)里面的字符串使用/L和/U逸出序列。使用下面的代碼你可以獲得與前面相同的結(jié)果:
$a = 'hello';
print "/U$a/E";
逸出字符/E會(huì)結(jié)束前面逸出字符(在這里是/U)開始的內(nèi)容。
利用Perl內(nèi)置的大寫和小寫函數(shù),以及雙引號(hào)里的逸出字符/U和/L,改變(字符的)大小寫是很容易的。
單詞首字母大寫
在perl中,我們可以通過(guò)uc,lc,\U,\L來(lái)修改變量的大小寫。其中uc,\U是將變量中的字母全部轉(zhuǎn)換為大寫,對(duì)應(yīng)的lc和 \L是將變量中的字母全部轉(zhuǎn)換為小寫。如果我們只想將變量的首字母大寫或?qū)⒆兞康氖鬃帜感懀覀兛梢允褂胮erl提供給我們的另外兩個(gè)函數(shù) ucfirst和lcfirst來(lái)實(shí)現(xiàn),下面我們來(lái)看一個(gè)具體的例子:
#! /usr/bin/perl
use strict;
use warnings;
my $little = "hello";
print "little:$little\n";
my $big = uc($little);
print "big:$big";
$little = lc($big);
print "little:$little\n";
$big = "\U$little";
print "big:$little";
$little = "\l$big";
print "little:$little\n";
$big = ucfirst($little);
print "big:$little\n";
$little = lcfirst($big);
print "little:$big\n";
上面的這個(gè)程序打印的結(jié)果如下:
hello
HELLO
hello
HELLo
hello
Hello
hello
這篇到這就結(jié)束了,腳本之家小編特為大家整理了好幾篇文章,希望以后大家多多支持腳本之家。
您可能感興趣的文章:- Windows10下安裝配置 perl 環(huán)境的詳細(xì)教程
- Redis中3種特殊的數(shù)據(jù)類型(BitMap、Geo和HyperLogLog)
- Perl 和 StrawberryPerl 與 ActivePerl 的區(qū)別詳解