本來以為Perl處理中文比Python優秀,但遇到要用Tk 來開發個簡單的圖形介面程式也要注意此問題。
其實只要指定使用UTF-8 編碼即可解決。以下為程式碼:
========================================================
#!/usr/bin/perl -w
use strict;
use utf8; ## 加入此行
use Tk;
my($mw, $child,);
$mw = MainWindow->new;
$mw->title('大家好');
my $label = $mw->Label(-text => '大家好');
$label->pack;
$child = $mw->Button(-text => '確定',
-command => \&on_quit)->pack;
## $child->pack();
MainLoop();
sub on_quit
{
exit 0;
}
========================================================
另外一個常用的 print 後面要列印的字串中如果有中文,請用單引號不要用雙引號。換行字元 \n 也不要放在單引號中,它與變數在單引號字串中都不會被處理。
中文基本問題解決,可以專心利用perl來發展一些工具程式縮短煩人的一些小問題並提高工作效率。本來是要用 Python,但工作上的 Sun OS (Solars)上是不太可能為我們這些 AP owner 特別安裝 python。但 Perl 一定是預設都有安裝,只是版本老舊,但也夠用了.因此不太想花時間在 Python上了。