おのれCRLF
Windows-Unix間ではよく問題になる改行コード
Windows上でCRLFをLFに変換するスクリプトに挑戦してみた。
まずはPerl版
use strict; use warnings; my $filename = $ARGV[0]; unlink("$filename.org"); open(my $rfh,$filename) or die $!; open(my $wfh,">$filename.org") or die $!; binmode($wfh); while(<$rfh>){ chomp; print $wfh $_ . "\x0a"; } close($rfh) or die $!; close($wfh) or die $!;
次にruby版
filename = ARGV[0] file = open(filename) wfile = open("test.txt","w") wfile.binmode while text = file.gets do tmp = text.chomp wfile.print tmp wfile.putc(0x0a) end file.close wfile.close
どっちも突っ込みどころは満載だと思われるがそこはご愛嬌
binmodeを知らずに「ちくしょーPerlじゃ書けねー」と諦めてからrubyで書こうとしてbinmodeを知ったというのがいかにも“あかPクオリティ”