Perl

配列のリファレンスをサブルーチンに渡す

Perlで配列をルーチン間でやりとりする時のメモです。 サブルーチンに引数として配列を渡すとき、配列をそのまま渡せばスカラーに展開されて値渡しされますが、リファレンス演算子をつけてリファレンスとして渡せば参照渡しとなります。(多分) 呼び出し先…

Wide character in die at

Perlのエンコードに関する話です。 結論から言ってしまうと、この警告メッセージは「Wide character in print at」のSTDERR(標準エラー)版なので、binmode(STDERR, ":utf8");を書いておくことで解決できるようになります。 「Wide character in print at」…

テキストファイルの中からCJK互換漢字をあぶり出す

先日、メモ帳のテキストにおかしな漢字(CJK互換漢字)があるという感じの記事を書きましたが、そんな漢字をあぶり出すスクリプトを考えましたので今回はその紹介。 tuttitan.hatenablog.com スクリプトのPerlで作られており、内容としてはテキストファイル…

chomp()関数はあまり使わないほうがいい

Perlの話になります。 改行コードを取り除いてくれる便利な関数chomp(チョンプ)というものがありますが、この改行コードというのが実行環境に依存する形になります。 どういうことかと申しますと、Windows環境ならCRLF(\r\n)が改行文字になりますし、Linux…

Perl で Hello World

久しぶりにPerlを書くと「どう書くんだっけ?」という話になる。とりあえずHello Worldは次のような感じになる。 #!usr/bin/perl use warnings; use strict; print "Hello World\n";