- ベストアンサー
指定した文字数だけ出力する方法
こんにちわ。 Perlプログラミングで質問です。 初心者なので、内容がわかりにくかったら申し訳ありません。 変数に入れた文字を、指定した文字数だけ表示する方法を教えて下さい。 例えば・・・ $aaa = "こんにちわ"; print "$aaa"; #こんにちわと出力される 上記のような内容で出力する時に「こんに」の3文字だけを出力したいです。 よろしくお願いします。
- みんなの回答 (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とかスクリプトとか)でどこ(ブラウザや端末など)に出力するかをできれば補足してください。
その他の回答 (1)
- kirikirkaz
- ベストアンサー率60% (21/35)
> CGIでHTMLに出力したいです。(できればShift_JISで) それなら ------------------------------ print encode 'sjis', substr $aaa, 0, 3; ------------------------------ とすればいいです。
お礼
kirikirkazさん 夜分のご回答ありがとうございました。 上記の内容で無事解決することができました。
補足
kirikirkazさん。 ご回答ありがとうございました。 CGIでHTMLに出力したいです。(できればShift_JISで) 至らない点が多くてスミマセンでした。 よろしくお願いします。