Perl 如何在文件中搜索模式并有条件地替换它?

Perl 如何在文件中搜索模式并有条件地替换它?,perl,Perl,我有一些旧的PHP文件,我正在尝试更新以使用v7。在很多地方,作者使用了简短的open标记(即,

我有一些旧的PHP文件,我正在尝试更新以使用v7。在很多地方,作者使用了简短的open标记(即,
s/@PolarBear谢谢。是的,我知道这一点,但OP可能不知道。我试图让ashman知道答案并改进它。只允许回答代码,但解释总是能让答案更准确。)tter。这几乎是可行的。我发现一个例子,当选中
后没有空格时,字符被删除/覆盖
。在行的末尾,转换后
应该是
,但它被改为
消失了。
<input type="radio" name="Period" value="Month" <? if (($Period=="Month") || !isset($Period)){ ?>checked="checked" <? } ?>>
<FORM METHOD=POST ACTION="<?=$PHP_SELF?>?s=<?=$s?>&t=<?=$t?>&order=<?=$order?>&sens=<?=$sens?>&current_page=<?=$current_page?>">
<a href="<?=$PHP_SELF?>?s=1&t=<?=$t?>&order=<?=$order?>&sens=<?=$sens?>&current_page=<? echo ($current_page+1)?>
perl -i -pe 's/<\?([^=p])/<?php\1/g' file.txt