プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ。
Perlプログラミングで質問です。
初心者なので、内容がわかりにくかったら申し訳ありません。
変数に入れた文字を、指定した文字数だけ表示する方法を教えて下さい。

例えば・・・
$aaa = "こんにちわ";
print "$aaa"; #こんにちわと出力される

上記のような内容で出力する時に「こんに」の3文字だけを出力したいです。
よろしくお願いします。

A 回答 (2件)

次のようにすればいいです。



------------------------------
use utf8;

my $aaa = "こんにちわ";
print substr $aaa, 0, 3;
------------------------------
ただし、スクリプトのファイルのエンコーディングがUTF-8に設定されていることが条件です。

あと、このままだとcygwinやWindowsのコマンドプロンプトなどに出力すると文字化けしてしまいます。なのでその場合
------------------------------
use utf8;
use Encode;

my $aaa = "こんにちわ";
print encode 'cp932', substr $aaa, 0, 3;
------------------------------
のようにコマンドプロンプトのエンコーディングにする必要があります。

POLO-POLOさんがどこに出力したいかによっては上のようにエンコーディングする必要があります。
なのでどのような環境(CGIとかスクリプトとか)でどこ(ブラウザや端末など)に出力するかをできれば補足してください。

この回答への補足

kirikirkazさん。

ご回答ありがとうございました。

CGIでHTMLに出力したいです。(できればShift_JISで)

至らない点が多くてスミマセンでした。
よろしくお願いします。

補足日時:2009/05/25 16:06
    • good
    • 0

> CGIでHTMLに出力したいです。

(できればShift_JISで)

それなら
------------------------------
print encode 'sjis', substr $aaa, 0, 3;
------------------------------
とすればいいです。
    • good
    • 0
この回答へのお礼

kirikirkazさん

夜分のご回答ありがとうございました。
上記の内容で無事解決することができました。

お礼日時:2009/05/26 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!