作者kornelius (Kornelius)
看板Programming
标题Re: 想请教一下 perl 中的字串取代
时间Sat Sep 22 01:13:14 2007
的确,若只是单纯使用 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
1F:→ LiloHuang:不用 eval 的方法很多种 为求简洁我才用 61.230.172.181 09/22 01:13
2F:→ LiloHuang:呵呵...纯粹...为求简洁 好理解 61.230.172.181 09/22 01:14
3F:→ LiloHuang:类似的东西几年前perlmonks上有人讨论过 61.230.172.181 09/22 01:15
4F:→ LiloHuang:不过年代久远我自己也忘记了...还是谢谢 61.230.172.181 09/22 01:15