Re: 想請教一下 perl 中的字串取代
※ 引述《dreamer.bbs@snow.ice.ntnu.edu.tw ( )》之銘言:
: $pat = "^a\/(.*)";
: $rep = "c\1d";
: 然後以 s/$pat/$rep/ 來進行取代的操作,
: 結果會得到 "c\1d"
: 因為我需要由檔案中將 pattern 與 replacement 的規則讀進來,
: 該如何做才能得到與第一種寫法一樣的結果呢?
: 希望各位先進能撥空稍微指點一下,感恩! =)
非常簡單 只要使用 eval 就可以了
#!/usr/bin/perl
my $str = 'a/bcde/f';
my $pat = '^a\/(.*)';
my $rep = 'c$1d'; # \1 建議寫成 $1 比較好
my $runtime = "\$str =~ s/$pat/$rep/";
eval $runtime;
print $str;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.71.152
※ 編輯: LiloHuang (61.219.36.46), 07/30/2016 13:04:52
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 12 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章