とんちゃんといっしょ

Cloudに関する技術とか日常とかについて書いたり書かなかったり

PerlのJcodeと文字

社長からWebのフォームがおかしいから見てくれといわれる。
とりあえずエラーログを見るとJcode.pmが無いらしいのでtar.gzを落としてきてインストール。

% perl Makefile.PL
% make
% make test
% make install

でも動かない。
もう一度調べなおすとFreeBSDはこうすればいいらしい。

# perl -MCPAN -e "install Jcode"

これでエラーはなくなったがよく見るとフォームの一部の文字がおかしい。
文字列の中で変数名がそのまま出力されている。


Perlはまったくわからないので入門サイトで文字列周りを調べて原因解明。

$mailto = 'info@hogehoge.hoge.hoge, $email';

上記の'(シングルクォーテーション)だと$mailtoを出力すると文字の中の$emailがそのまま文字として出力される。
これを"(ダブルクォーテーション)に変更すると$emailの中が展開されて正しいのが出力される。

$mailto = "info@hogehoge, $email";


今日の仕事がこれに1時間*1だけだったなんてとても言えやしない。


追記1
これかいてて思ったんだが、@って変数じゃなかったっけ?


追記2
@はリスト配列かよ・・・
別の方法を考えよう


追記3
面倒だから変数1個追加してごまかそう

$mailto = "$email0, $email1";

*1:4時間滞在