要把下面文件的内容改了,
Program name: granite Author: Gilbert Bates Company: RockSoft Department: R&D Phone: +1 503 555-0095 Date: Tues March 9, 2004 Version: 2.1 Size: 21k Status: Final beta
改成这样:
Program name: granite Author: Judas Company: RockSoft Department: R&D Date: Wed Jul 3 02:52:49 EDT 2019 Version: 2.1 Size: 21k Status: Final beta
下面的代码中,第102行想实现删除phone的那一行文件内容,但实际上没有删除最后的换行符
98 chomp(my $date = `date`); 99 $^I = ".bak"; 100 while(<>){ 101 s/Author:.*/Author: Wei Yan/; 102 s/^Phone.*//; 103 s/Date.*/Date: $date/; 104 print; 105 }
导致文件内容产生了一行空格:
Program name: granite Author: Wei Yan Company: RockSoft Department: R&D
Date: Wed Jul 3 02:52:49 EDT 2019 Version: 2.1 Size: 21k Status: Final beta
如果把102行代码改为:
102 s/^Phone.*//s;
或者
102 s/^Phone.*\n//s;
就能把phone那一行完全删除
|
请发表评论