ord関数

広告

「ord」関数は文字に対応した文字コードを返します。

引数に指定した文字列の先頭の文字に対応する文字コードを返します。

パラメータ:
  EXPR  対象の文字列
戻り値:
  先頭の文字の文字コード

1番目の引数に対象となる文字列を指定します。省略された場合は変数「$_」が使用されます。関数が呼び出されると、引数に指定した文字列の先頭の文字を対応する文字コードに変換して戻り値として返します。

具体的には次のように記述します。

my $chrnum = ord("ABC");

この場合、文字列の先頭文字である「A」に対応した文字コードの「65」が取得できます。

※文字コードから文字を取得する場合は「chr関数」を参照して下さい。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test14-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $str = "Calendar";
for (my $i = 0; $i < length($str); $i++){
  # 1文字ずつ取り出す
  my $onestr = substr($str, $i, 1);

  my $charno = ord($onestr);
  print "$onestr = $charno¥n";
}

上記を「test14-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

ord関数

( Written by Tatsuo Ikura )