作者yingwan (yingwan)
看板Perl
標題[問題] 大小寫問題
時間Wed Sep 24 00:19:58 2008
大家好
又是一個新手問題,希望大家多多包涵
我的問題是,Perl它會分大小寫 (ex: BLUE 不等於 blue)
如果要讓他不分大小寫怎麼辦?
我用的方法很笨,就是列出一堆可能組合,讓程式都接受這些組合
if (($a eq "blue") or
($a eq "BLUE") or
($a eq "Blue") or
($a eq "BlUe") or
($a eq "BluE") or
($a eq "BlUE") or
($a eq "BLue") or
($a eq "BLUe") or
($a eq "BLuE") or
($a eq "bluE") or
($a eq "blUe") or
($a eq "blUE") or
($a eq "bLue") or
.
.
.
.
有沒有甚麼指令可以快一點啊?我的方法實在很沒效率,希望好心人指點我一下
感謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 149.159.132.73
推 LiloHuang:if($a =~ /blue/i) { ... } 09/24 00:32
推 LiloHuang:一般C裡面的作法會轉成大寫或者轉成小寫再做一次判斷 09/24 00:32
推 LiloHuang:snort裡面的判斷大小寫之pattern engine也是這樣弄的:) 09/24 00:33
推 wnick:uc(mac) eq uc(MAC)......也可放變數 09/24 01:10
→ shelling:$a =~ tr/[A-Z]/[a-z]/; if ($a eq "blue") { ... } 09/24 21:14
→ shelling:囧 一樓解法++ 剛才沒看到 09/24 21:15
→ gugod:lc($a) eq "blue" 09/27 23:48