###前提・実現したいこと
data2.txtというテキストファイルがあります。
"aaa1","bbb1","ccc1","ddd1"
"aaa2","bbb2","ccc2","ddd2"
"aaa3","bbb3","ccc3","ddd3"
"aaa4","bbb4","ccc4","ddd4"
data2.txtの""で囲った文字列を2次元配列の要素に格納したいです。
array[0][0] = "aaa1"
array[1][0] = "bbb1"
array[2][0] = "ccc1"
array[3][0] = "ddd1"
array[0][1] = "aaa2"
~
array[3][3] = "ddd4"
###ご依頼
上記の内容を実現できるソースコードを作成しました。
ソースコードは以下の通りです。
以下のソースコードよりスマートな記述内容がありましたらご教示頂けませんでしょうか。
perl
1open my $fh, "<", "data2.txt" or die $!; 2while (my $hairetsu = <$fh>) { 3 my @hairetsu = $hairetsu =~ /"[^,]*"/g; 4 my @hairetsu2 = (); 5 my $i = 0; 6 $hairetsu2[0][$i] = "@hairetsu[0]"; 7 $hairetsu2[1][$i] = "@hairetsu[1]"; 8 $hairetsu2[2][$i] = "@hairetsu[2]"; 9 $hairetsu2[3][$i] = "@hairetsu[3]"; 10 print("$hairetsu2[0][$i]\n"); 11 print("$hairetsu2[1][$i]\n"); 12 print("$hairetsu2[2][$i]\n"); 13 print("$hairetsu2[3][$i]\n"); 14 $i = $i++; 15} 16close $fh;
###出力結果
Scalar value @hairetsu[0] better written as $hairetsu[0] at C:\xampp\htdocs\test\test2.pl line 6. Scalar value @hairetsu[1] better written as $hairetsu[1] at C:\xampp\htdocs\test\test2.pl line 7. Scalar value @hairetsu[2] better written as $hairetsu[2] at C:\xampp\htdocs\test\test2.pl line 8. Scalar value @hairetsu[3] better written as $hairetsu[3] at C:\xampp\htdocs\test\test2.pl line 9. "aaa1" "bbb1" "ccc1" "ddd1" "aaa2" "bbb2" "ccc2" "ddd2" "aaa3" "bbb3" "ccc3" "ddd3" "aaa4" "bbb4" "ccc4" "ddd4"
###補足情報(言語/FW/ツール等のバージョンなど)
・Active Perl v5.24.1
・Windows 10 Home
・Sublime Text 2
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。