Blog

perl6 で TSV を SQL に変換する

もはやこういったものは Perl6 で書いた方が楽かもしれない。

my @header = lines.shift.split(/\t/);

say "INSERT INTO member ({@header.map({ "`$_`" }).join(",")}) VALUES";
lines.map({
    "(" ~ .split(/\t/).map({ qq!"$_"! }).join(",") ~ ")"
}).join(",\n").say;
say ";";

これを moarvm で動かすと想像以上に速く動く。便利である。

個人的には Perl5 よりも Ruby よりも書いていて気持ちがいい。 読んでいて気持ちがいいかは知らない。