这个grep
声明有什么问题?代码中的其他所有内容都运行良好,但我没有在@result
中获得任何输出。
$rs_id
逐个获取另一个文件的值rs548419688
,rs553613476
和rs573497853
。当我使用语句my @result= grep /rs548419688/, @snp;
时,我得到了正确的输出。但是下面的代码并没有给我任何输出。你能否确定错误?
sub findVariants {
my ($rs_num) = @_;
open (my $in_file, '<testSNPs')
or die "Could not open the file: $!\n";
my @snp = <$in_file>;
my @result = grep /$rs_num/, @snp;
print @result;
close $in_file;
}
答案 0 :(得分:1)
如果<input class="form-Field-control date required dr-FormField-control" aria-invalid="true" name="recommends_insurance_term_life_referral[birth_date]" id="recommends_insurance_term_life_referral_birth_date" type="date">
包含字符串$rs_num
,则此方法有效。我怀疑它实际上包含字符串rs548419688
(rs548419688␊
加上换行符)。当您从文件中读取内容时,请不要忘记使用rs548419688
删除换行符。
答案 1 :(得分:0)
我的标准建议的另一个案例:
每当您不确定比较或正则表达式失败的原因时,请检查您的数据/正则表达式实际包含的内容。
use Data::Dumper;
local $Data::Dumper::Useqq = 1;
print Dumper $rs_num;
print Dumper \@snp;