C言語やC++なら2次元配列といっても配列の階層を増やすだけなので、わりと簡単に理解できるのですが、Perlはそこでリファレンスという、いまいちわかりにくいものが出てくるのでちょっと面倒です。
とはいっても、2次元配列程度ならそんなに複雑なコードになるというわけでもありません。
以下は、numdata.txtというコンマで区切られたテキストファイルのデータを、2次元配列に格納してからレコードごとに標準出力に出力するPerlのサンプルプログラムです。
--- numdata.txt ---
1,2,3,4
11,12,13,14
21,22,23,24
31,32,33,34
41,42,43,44
--- sample.pl ---
#!/usr/bin/perl
use strict;
use warnings;
#use Data::Dumper;
my @list;
open my $infh, '<', "numdata.txt";
while (my $rec = <$infh>) {
chomp $rec;
if ($rec ne '') {
push @list, [split(/,/, $rec)];
}
}
close $infh;
#print Dumper(@list);
foreach my $item (@list) {
# print Dumper($item);
my ($a, $b, $c, $d) = @{$item};
print "$a, $b, $c, $d\n";
}
0 件のコメント:
コメントを投稿