【发布时间】:2012-05-23 23:19:58
【问题描述】:
我有以下子程序可以计算每个客户的购买次数。它曾经只有/总是 4 个类别,下面的脚本就足够了。
客户名单:
- alpha01
- alpha02
- alpha03
- alpha04
- bravo01
- bravo02
- bravo03
- bravo04
由于列表已经增加到 >4,我需要帮助来修改脚本。 我希望脚本灵活。脚本可以继续循环运行,直到找到最后/最大的可用数字(只是一个想法),而不是将“MYClientNo”固定为某个数字/值,然后它才会停止并返回该值。
例如,“alpha”可以达到 06,“bravo”可以达到 22。但我预计它不会很快超过 100。有人可以帮忙吗?
sub GetCountMyClient {
my @Line1 = @_;
my @Count = (0, 0, 0, 0);
foreach $myclient (@Line1) {
my @MYClient = split(/\s+/, $myclient);
my @MYClientOutput = split(/:/, $MYClient[4]);
#print $MYClientOutput[0]. "\n";
my $MYClientNo = substr($MYClientOutput[0], -2);
#print $MYClientNo . "\n";
if($MYClientNo eq "01") {
$Count[0]+= 1;
} elsif($MYClientNo eq "02") {
$Count[1]+= 1;
} elsif($MYClientNo eq "03") {
$Count[2]+= 1;
} elsif($MYClientNo eq "04") {
$Count[3]+= 1;
}
}
return @Count;
}
PS:我尽力识别代码,它在文本框中看起来正确,但在预览中不正确。
【问题讨论】:
标签: perl