[問題] 大小寫問題

看板Perl作者 (yingwan)時間17年前 (2008/09/24 00:19), 編輯推噓4(403)
留言7則, 4人參與, 最新討論串1/1
大家好 又是一個新手問題,希望大家多多包涵 我的問題是,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

09/24 00:32, , 1F
if($a =~ /blue/i) { ... }
09/24 00:32, 1F

09/24 00:32, , 2F
一般C裡面的作法會轉成大寫或者轉成小寫再做一次判斷
09/24 00:32, 2F

09/24 00:33, , 3F
snort裡面的判斷大小寫之pattern engine也是這樣弄的:)
09/24 00:33, 3F

09/24 01:10, , 4F
uc(mac) eq uc(MAC)......也可放變數
09/24 01:10, 4F

09/24 21:14, , 5F
$a =~ tr/[A-Z]/[a-z]/; if ($a eq "blue") { ... }
09/24 21:14, 5F

09/24 21:15, , 6F
囧 一樓解法++ 剛才沒看到
09/24 21:15, 6F

09/27 23:48, , 7F
lc($a) eq "blue"
09/27 23:48, 7F
文章代碼(AID): #18sHSl7m (Perl)
文章代碼(AID): #18sHSl7m (Perl)