我的阵列有问题,我需要你的帮助。
我想创建一个数组,其中包含我的if
给出的结果,以便与另一个数组进行比较。
if (grep {$community eq $_ } @communities) {
my $community_matchs = "";
print "$community;$login;$last_at;;$size;1\n";
push (@matchs, $community_matchs);
#my array
}
else{
print "$community;$login;$last_at;;$size;0\n";
}
然后,稍后
if (grep {$c ne $_} @matchs) {
print "$community;3\n";
我是初学者和法国人,所以要和我一起理解。
答案 0 :(得分:1)
您可以使用Data :: Dumper进行调试。
use Data::Dumper;
print 'matchs:'.Dumper(\@matchs);
您没有向@matchs
添加任何内容,因此它将为空。
也许这就是你在寻找什么:
if (my @community_matchs = grep {$community eq $_ } @communities) {
print "$community;$login;$last_at;;$size;1\n";
push (@matchs, @community_matchs);
#my array
}
答案 1 :(得分:0)
只是说明我认为你要做的事情,但我会考虑重写:
#!/usr/bin/perl
use strict;
use warnings;
my @communities = qw(community1 community2 community3 community4 community5 community6 community7 community8 community9);
my $community = 'community6';
my @matches;
foreach (@communities){
if ($_ eq $community) {
print "Match: $_\n";
push (@matches, $_);
# Do something else...
}
else {
print "No match: $_\n";
# Do something else...
}
}
输出:
No match: community1
No match: community2
No match: community3
No match: community4
No match: community5
Match: community6
No match: community7
No match: community8
No match: community9