的Perl格格功能我有一個包含這樣的事情工作不正常
name: A id: B cl: C
name: D id: E cl: F
name: I id: G cl: K
我正在用grep內容CL後一個文件並將其存儲在一個陣列
#!/usr/bin/perl
@success=qw(C J K L);
@arr=qw(P M C);
my $pattern="is present here";
local $/;
open (<FILE>, sl.txt);
my $ln=<FILE>;
while($ln=<FILE>)
{
if($ln=~$pattern)
{
{local $/="\n"; @using=`grep "cl" sl.txt | cut -d " " -f 6 `;}
print "\n the using array is @using \n";
print "$using[0] ,$using[1] \n";
chomp(@using);
print" after chomp @using\n";
foreach my $lb (@using)
{
if($lb eq $success[2])
{
print " comparison true\n";
}
else
{
print " false comparison\n";
}
}
}
}
close(<FILE>);
請爲什麼這個comaprison在失敗之後失敗了。爲Chomp @using前後格格@using相同
您真的會得到'C D'而不是'C F'嗎? –
如果我明白你在說什麼,'$ using [0]'包含'「C \ nD」'。 chomp從字符串的末尾刪除換行符,而不是從字符串的中間移除。 – DavidO
什麼'使用Data :: Dumper; $數據::自卸車:: Useqq = 1;打印Dumper \ @using;'在@ @ using ='語句之後顯示? – ysth