So-net無料ブログ作成

perl で Wide character in print at のメッセージ

 perlで以下のようなスクリプトを実行しました。

#-----------------------------------------
#!/usr/bin/perl
# 時間を4桁にするプログラム

use utf8;

〜 略 〜

print "終わりました";
close LOGDATA;
close OUTPUTDATA;
print "\n";
#-----------------------------------------

 文字列 "終わりました" をプリントしたところ、ターミナルに以下のように表示されました。

[imac:~/bin] imac% timecorrect.sh
Wide character in print at /Users/you/bin/timecorrect.sh line 82, line 9949. 終わりました
[imac:~/bin] imac% perl -v


 環境は、MAC OS X 10.9.5 での perl 5, version 16, subversion 2 (v5.16.2) built for darwin-thread-multi-2level です。

 スクリプトは mi バージョン2.1.12r4で作りました。エンコーディングはUTF-8です。

 UTFフラグのついた文字列(この場合はリテラル)をprintするとこのような警告が出ます。ただしこれはあくまで警告で、スクリプト自体は正しく実行されました。解決策としてはUTFフラグを取っ払っておけば大丈夫なようです。

 まだまだ私は初心者です。