perlについて質問です。

ある変数に半角または全角で適当な値が入っているとします(たとえば「あaいiうuえeおo」)。この変数に何バイトの値が入っているか、perlで確認するためにはどの様にすればいいのでしょうか?実際にコードを書いて教えてください。

回答の条件
  • 1人1回まで
  • 登録:2007/08/28 21:41:23
  • 終了:2007/09/04 21:45:03

回答(4件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982007/08/28 21:56:17

ポイント35pt

自前で 関数を作ったほうが 早いですね。

http://snyc.s28.xrea.com/contents/001.htm

こちらに載ってますので これを利用してみてください。


http://oshiete1.goo.ne.jp/kotaeru.php3?q=1095448

id:KUROX No.2

KUROX回答回数3542ベストアンサー獲得回数1402007/08/28 21:44:52

ポイント35pt

$name = "あaいiうuえeおo";

$len = length ($name);

print $len ;


length関数を使う。

----------------------------------------------------

#以下より引用

http://infosys.gsid.nagoya-u.ac.jp/~ohna/perl_lesson/perl03.html

id:BlackSabbath No.3

BlackSabbath回答回数53ベストアンサー獲得回数42007/08/28 22:01:35

ポイント10pt

length を使うといいでしょう。

$str = "あaいiうuえeおo" ;
print length($str) ;
id:terubouzu_com No.4

terubouzu_com回答回数5ベストアンサー獲得回数02007/08/29 01:39:13

ポイント10pt

my $i = length( "あaいiうuえeおo" );

上記の参考例で$iにバイト数が入ります。仮に文字列のエンコーディングがShift-JISだとすると15が返却されます。なお,文字数(参考例では10)ではありませんので,substr() 等で文字列を破壊しないようにご注意ください。

http://end

  • id:samejima
    UTF8フラグが立っているかどうかで話が全然違ってきます。
    http://perldoc.jp/docs/perl/5.8.1/perluniintro.pod
    lengthで求まる、との回答は誤り。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません