看板 Programming 關於我們 聯絡資訊
的確,若只是單純使用 s/foo/$1/ee 是可 不過若是 c$1d 這類,則不屬 statement,所以 double eval 無法使用 不過,你想得到不用整塊 eval 的方法嗎? @@? ※ 引述《LiloHuang (相見不如懷念)》之銘言: : ※ 引述《kornelius (Kornelius)》之銘言: : 不曉得你是否可以以下面的測資達到跟我一樣的輸出 : my $str = 'a/bcde/f'; # 原始字串 : my $pattern = '^a\/(.*)'; # 比對樣式 : my $replace = 'c$1d'; # 取代字串 : my $runtime = "\$str =~ s/$pattern/$replace/"; : eval $runtime; : print $str; : 也就是 output 為 cbcde/fd : 你使用的 double eval 方式能夠正確執行後面的 $replace 嗎 @@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.223.100.79
LiloHuang:不用 eval 的方法很多種 為求簡潔我才用 61.230.172.181 09/22 01:13
LiloHuang:呵呵...純粹...為求簡潔 好理解 61.230.172.181 09/22 01:14
LiloHuang:類似的東西幾年前perlmonks上有人討論過 61.230.172.181 09/22 01:15
LiloHuang:不過年代久遠我自己也忘記了...還是謝謝 61.230.172.181 09/22 01:15