mapで繰り返し処理を短縮・追記
サブルーチンを使わずに、さらに短縮してみる。
my %table_hash = map{ my $name = $_; my $fh; open $fh, '<', $name . '.txt'; my @text = <$fh>; close $fh; map { $_ =~ s/[\r\n]$//g } @text; $name => [ map{ [split(',', $_)] } @text ]; } ('a', 'b');
サブルーチンを使わずに、さらに短縮してみる。
my %table_hash = map{ my $name = $_; my $fh; open $fh, '<', $name . '.txt'; my @text = <$fh>; close $fh; map { $_ =~ s/[\r\n]$//g } @text; $name => [ map{ [split(',', $_)] } @text ]; } ('a', 'b');