我正在尝试处理每个字符的文件字符输入,但有一些显示我不知道它们来自哪里.考虑这个例子:
文件输入
First row; Second row; Third row;
文件test.pl
#!/usr/bin/perl open FILE,"<input"; my @characters = split //,join //,<FILE>; for( @characters ) { print $_; } close FILE;
我希望这个脚本只打印输入的内容(虽然以一种非常复杂的方式 – 它只是一个例子).但是,当我运行./test.pl时,我得到了这个输出:
First row; 1Second row; 1 1Third row;
现在我的问题是:这1个角色来自哪里?
解决方法
加入//应该加入”.
//,$_ = ~m //的缩写,是匹配运算符.因为它匹配成功,所以它返回真值1.
(拆分是特殊的,它将split /…/视为类似于拆分qr /…/.)
顺便说一句,总是使用严格;使用警告;它在这里很有用.