#!/usr/bin/perl
$a="ono";
print "$aです\n";
print '$aです\n';
英語と数字のスクリプトは動かせています。また、ターミナルで日本語のファイルを表示したり、日本語入力するということもできる状態になっています。
またCPANの初期設定を一般ユーザーで行ない(http://iandeth.dyndns.org/mt/ian/archives/000623.html#b)、Jcodeのインストールもしたのですが、何かミスがあったのかエラーが出てしまう(http://d.hatena.ne.jp/azaburecipes/20081010/1223649912)状態が改善できないでいます。Jcodeのインストールのときにエラーがあったりしたので(http://d.hatena.ne.jp/azaburecipes/20081017/1224207147)、うまくインストールできていないのではないかと思うのですが、全くわからないでいます。
Mac OS Xに詳しくて、お分かりになる方がいらっしゃったらアドヴァイスをいただけると助かります。よろしくお願いします。
#1のコメント:
Can't open perl script "utf8.pl": No such file or directory
このエラーメッセージは、"utf8.pl" が見つからないことを示しています。
以下を確認してください。
※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。
回答をありがとうございます。正しいパスでなかったようです。
正しいパスにすると、このように表示されました。
Wide character in print at utf8.pl line 5.
$aです\n$
#2のコメント:
Wide character in print at utf8.pl line 5.
UTF-8フラグがONになっていると思われます。
「文字列を print すると「Wide character in print at」と出力されて困った」を参考にしてください。
UTF-8フラグをOFFにする作業をするといいのでしょうか?UTF-8フラグの確認の方法も試してみたいのですが、どのように使っていいのかわからないので具体的に教えてもらえると助かります。
ちゃんとインストールできてないですね。すくなくとも、管理者かrootでインストールしてください。osxでインストールすると、ライブラリの場所などが特殊です。"mac perl インストール"で検索してみてください。
前の方が回答されていますが、
binmode(STDOUT, ":utf8");
を付けたらどうでしょうか?
#!/usr/bin/perl
use strict;
use warnings;
binmode(STDOUT, ":utf8"); # utf8フラグOFF
my $a = "ono";
my $b = "$aです\n";
utf8::decode($b); # 文字列をフラグ付きに変換
print "$b\n";
exit;
結果
> perl mac.pl
onoです
binmodeしない結果
> perl mac.pl
Wide character in print at mac.pl line 11.
onoです
アドヴァイスをありがとうございます。試してみたところ、うまく動かすことができました。(http://d.hatena.ne.jp/azaburecipes/20081019/1224381272)
また、miで改行コードをLF、文字コードをUTF-8に設定してみたところ、はじめのスクリプトで日本語の表示ができることがわかりました。TextEditを使っていたので、試用しているエディタも影響していたのかもしれません。
アドヴァイスをありがとうございます。use utf8;と書いて試してみると、このようなエラーが出てしまいます。
(http://d.hatena.ne.jp/azaburecipes/20081017/1224220636)