我正在做一个小数据挖掘项目,其中 perl 脚本从 SQL 数据库中获取信息并对其进行解析。数据由几个时间戳组成。我想找出在任何特定日期存在多少特定类型的时间戳。不幸的是,这是我的第一个 perl 脚本,当涉及到散列和数组时 perl 的性质让我很困惑。
代码段:
my %values=();#A hash of the total values of each type of data of each day.
#The key is the day, and each key stores an array of each of the values I need.
my @proposal;
#[drafted timestamp(0), submitted timestamp(1), attny approved timestamp(2),Organiziation approved timestamp(3), Other approval timestamp(4), Approved Timestamp(5)]
while(@proposal=$sqlresults->fetchrow_array()){
#TODO: check to make sure proposal is valid
#Increment the number of timestamps of each type on each particular date
my $i;
for($i=0;$i<=5;$i++)
$values{$proposal[$i]}[$i]++;
#Update rolling average of daily
#TODO: To check total load, increment total load on all dates between attourney approve date and accepted date
for($i=$proposal[1];$i<=$proposal[2];$i++)
$values{$i}[6]++;
}
我不断在 for 循环递增值中遇到语法错误。另外,考虑到我正在使用严格和警告,当我在哈希中访问它们时,Perl 会自动创建正确值的数组,还是会到处出现越界错误?
感谢您的帮助,扎克