■概要
------------------
前回のものをText::CSV_Xを用いて書き換える。
Text::CSV_Xを使用すると、「セルの中にコンマが含まれてる場合」や「引用符""で囲まれている場合」
などのめんどくさいケースを考慮する必要がなくなる。
らしい。
------------------
■コード(全部)
------------------
- use strict;
- use warnings;
- use Text::CSV_XS;
- #-------------------------
- open(FH," < team.csv");
- my @list = <fh>;
- close(FH);
- my $csv = new Text::CSV_XS({binary => 1});
- my %hash;
- foreach my $line( @list )
- {
- $csv->parse($line) || die "parse失敗: " . $csv->error_input() . "\n";
- my ( $key, @items ) = $csv->fields();
- $hash{$key} = [@items];
- }
- printarrayhash( %hash );
- #-------------------------
- sub printarrayhash
- {
- my %hash = @_;
- foreach my $key( keys( %hash ) )
- {
- print "キー値 : $key\n";
- my @val = @{$hash{$key}};
- my $length = @val;
- print "length =$length\n";
- print "val = @val\n";
- }
- }
- </fh>
0 件のコメント:
コメントを投稿