我正在编写我的第一个 Perl 脚本,并且正在逐行读取一个小文本文件。这些字段由':'分隔,所以我想使用第一个字段(名称)作为每个字段的键将每个字段拆分为一个哈希数组。另外,(我认为)我想要一个包含所有信息的大哈希,或者可能只是一个包含每个字段的数组,这样我就可以根据模式在一行上打印所有信息。%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);