【发布时间】:2011-10-28 22:40:20
【问题描述】:
我是 Perl 的新手,一直在尝试为此拼凑出一个解决方案。当我运行这个程序时,我没有收到任何错误,也没有显示任何内容。
代码如下:
#!/usr/bin/perl
open (DATA, "<test1.txt") or die ("Unable to open file");
use strict; use warnings;
my $search_string = "Ball";
while ( my $row = <DATA> ) {
last unless $row =~ /\S/;
chomp $row;
my @cells = split /\t/, $row;
if ($cells[0] =~/$search_string/){
print $cells[0];
}
}
我的测试数据文件是这样的
Camera Make Camera Model Text Ball Swing
a b c d e
f g h i j
k l m n o
在我使用实际的测试数据文件之前,我想看看它是如何工作的。
那么我如何搜索说“Ball”并让它返回“d in”
【问题讨论】:
-
你不是要求帮助 Perl。您要求为您编写作业,因为您上面的代码与您最后一行的要求无关。请编写一个您尝试在 Perl 中实现的算法,然后询问为什么您的 Perl 实现不起作用 - 目前,您的问题的答案是“您的代码与您的任务无关”
-
我保证这不是一个作业......但无论如何......这怎么不适用......我正在定义我正在寻找的内容并用 /\t/ 分割文本是选项卡我确实相信并将其存储在一个数组中.. 我要问的是“我如何搜索该数组并获取相关的列?
-
请参阅我的回答中的提示。您正在正确解析文件;您只是没有使用解决问题的逻辑/算法。提示应该足以让你的球滚动(没有双关语)
标签: perl