私は、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ループ内で構文エラーが発生し続けます。また、strictとwarningsを使用していることを考えると、Perlはハッシュ内でそれらにアクセスするときに正しい値の配列を自動作成しますか、それともどこでも範囲外エラーが発生しますか?
助けてくれてありがとう、ザック