你好,麻烦帮忙看一下,在perl 里面$^I这个做了什么?

$^I=".back";
while(<>){

s/\s+|,/ /g;

print;
}
如果这样print不到终端里面?
而如果去掉$^I 就可以输入到终端里面?
$^I 书上说是写回到文件且备份的作用,按理说不应该影响print啊!难道是windows的环境的问题?

长风秋雁
浏览 179回答 2
2回答

开满天机

使用$^I的时候,是in place修改,也就是在源文件中修改,并将备份源文件。这时候,已经将STDOUT修改为你在修改的文件了,所以输出是直接输出到文件中的。你想,如果没有将STDOUT修改为你正在读取的文件,那$^I怎么起到原地修改的作用啊。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python