• ベストアンサー

指定した文字数だけ出力する方法

こんにちわ。 Perlプログラミングで質問です。 初心者なので、内容がわかりにくかったら申し訳ありません。 変数に入れた文字を、指定した文字数だけ表示する方法を教えて下さい。 例えば・・・ $aaa = "こんにちわ"; print "$aaa"; #こんにちわと出力される 上記のような内容で出力する時に「こんに」の3文字だけを出力したいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

次のようにすればいいです。 ------------------------------ 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とかスクリプトとか)でどこ(ブラウザや端末など)に出力するかをできれば補足してください。

POLO-POLO
質問者

補足

kirikirkazさん。 ご回答ありがとうございました。 CGIでHTMLに出力したいです。(できればShift_JISで) 至らない点が多くてスミマセンでした。 よろしくお願いします。

その他の回答 (1)

回答No.2

> CGIでHTMLに出力したいです。(できればShift_JISで) それなら ------------------------------ print encode 'sjis', substr $aaa, 0, 3; ------------------------------ とすればいいです。

POLO-POLO
質問者

お礼

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

関連するQ&A