Perl脚本问题
时间:10-02
整理:3721RD
点击:
最近在学习数字后端方面,刚开始学习Perl语言,写了一段代码没有实现目标功能,有没有大神帮忙看一下。
代码想实现的是:从@net中查找@all_cell,若@net中存在$all_cell,则将$all_cell输出到文件中。
其中@all_cell是从文件中读入的,内容为:
XOR3X8M
XOR3X4M
XOR3X2M
XOR3X1M...
@net也是从文件读入的,内容为:
X...... XOR3X4M ......
X...... XOR3X2M ......
代码想实现的是:从@net中查找@all_cell,若@net中存在$all_cell,则将$all_cell输出到文件中。
其中@all_cell是从文件中读入的,内容为:
XOR3X8M
XOR3X4M
XOR3X2M
XOR3X1M...
@net也是从文件读入的,内容为:
X...... XOR3X4M ......
X...... XOR3X2M ......
- open(FILEOUT2,"> cell_use2");
- foreach(@all_cell)
- {
- foreach(@net)
- {
- if($net=~/\b($all_cell)\b/)
- {
- print FILEOUT2 "$all_cell";
- last;
- }
- }
- }
文件句柄close了吗
没有close,不知这样会有什么影响?
新手不太懂,多指导!
需要修改两行:
foreach(@all_cell)改为foreach $all_net(@all_cell)
foreach(@net)改为foreach$net(@net)
改过了,还是不行。
但还是谢谢你!
说错了,应该是这么改:
需要修改两行:
foreach(@all_cell)改为foreach $all_cell(@all_cell)
foreach(@net)改为foreach$net(@net)
你再试以下
没有影响,perl执行完了,自行关闭
foreach(@all_cell)改为foreach $all_cell(@all_cell)
foreach(@net)改为foreach$net(@net)
if($net=~/\b($all_cell)\b/) 改为 if($net=~/\b\Q$all_cell\E\b/)
把完整的input file和output file傳上來給大家幫你試看看吧