初めての Perl スクリプトを書いていて、小さなテキスト ファイルを 1 行ずつ読んでいます。フィールドは「:」で区切られているので、最初のフィールド(名前)をそれぞれのキーとして使用して、各フィールドをハッシュ配列に分割したいと考えています。また、(私が思うに) すべての情報を保持する大きなハッシュ、またはパターンに基づいて 1 行にすべての情報を出力できるように各フィールドを保持する単なる配列が必要です。%info
ハッシュ代入で奇数の # 要素を作成するほどには進んでいません。私はそれを通常の配列にする必要がありますか?私はこれを正しい方法で行っていますか? 基本的にはこの順番です。
name:phone:address:date:salary
#!/usr/bin/perl -w
use strict;
print $#ARGV;
if($#ARGV == -1)
{
print "Script needs 1 argument please.\n";
exit 1;
}
my $inFILE = $ARGV[0];
#open the file passed
open(IN, "$inFILE") || die "Cannot open: $!"; #open databook.txt
my %info = (my %name, my %phone, my %address, my %date, my %salary);
while(<IN>)
{
%info = (split /:/)[1];
}
close($inFILE);