Re: [問題] 精確比對
※ 引述《DreamYEN (我本善良)》之銘言:
: 剛接觸perl不久,有些東西搞不太懂
: 請問些很淺的問題
: 假設有20個pattern a1 a2 a3 .. a20
: 當我用一個while去做替換
: while ($line = <>) {
: if ($line =~ s/a1/b1/g)
: }
: 這樣子做的話,會連 a11 ~ a19的 a1 都被替換掉
: 不知道有什麼方法可以精確的只比到想要的字串呢
if ($line =~ s/a1([^\d])/b1$1/g)
像這樣把後面接著其他數字的 pattern 排除掉如何?
: 另一個問題,當宣告一個陣列
: my @a = 0;
: 這樣子只會給這個陣列中的第一個值設定
: 不知道是否可以像 c 一樣設定陣列的大小與初始值
: int a[10] = {0};
: 麻煩可以幫我解答這些簡單的問題..謝謝
目前想到的寫法是像這樣:
my @arr; # 宣告一個陣列,目前它的大小為 0
$arr[10] = 0; # 現在這個陣列的大小是 11
@arr = map { 0 } @arr; # 把陣列裡每個元素的值都變成 0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.23.102
推
07/16 18:27, , 1F
07/16 18:27, 1F
→
07/16 18:27, , 2F
07/16 18:27, 2F
→
07/16 18:28, , 3F
07/16 18:28, 3F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章