SAK 図書館
CGI-Perl 基礎編 (その五) 文字列関数 substr、index、split、localtime、crypt
■文字列演算子 . 文字列の結合 【例】 $a = 'abc'; $b = 'def'; $c = $a . $b; ** $c には、'abcdef' がセットされます。 ■文字列関数 lc 小文字に変換 uc 大文字に変換 substr n 番目から n バイトの文字列を切り出し length 何バイトあるか数える index 指定文字列が何番目から存在するか調べる rindex 指定文字列が最後から何番目に存在するか調べる sprintf 書式指定変換をする chomp 最後の CR/LF 除去 s 文字変換 tr 文字変換 split セパレータによる文字列分割 join 配列文字列結合 reverse 配列反転 localtime ローカル時間 crypt 文字列暗号化 ■lc (小文字に変換) 【例】 $a = lc('ABC'); ** $a には、'abc' がセットされます。 ■uc (大文字に変換) 【例】 $a = uc('abc'); ** $a には、'ABC' がセットされます。 ■substr (文字列切り出し) 【例】 $a = substr('abcdef', 1, 3); ** $a には、'bcd' がセットされます。 ** 位置は先頭が 0、文字数はバイト単位です。 ■length (文字列バイト長) 【例】 $i = length('abcdef'); ** $i には、6 がセットされます。 ** 長さはバイト単位です。 ■index (文字列検索) 【例】 $i = index('abcdef', 'bcd'[, 0]); |_ 検索開始位置は省略すると 0 ** $i には、1 がセットされます。 ** 検索結果位置は先頭が 0 です。 ■rindex (文字列後方検索) 【例】 $i = rindex('abcdab', 'ab'); ** $i には、4 がセットされます。 ** 検索結果位置は先頭が 0 です。 ■sprintf (文字列書式フォーマット) 【例】 $a = sprintf('a = %06d b = %04d', 10, 20); ** $a には、'a = 000010 b = 0020' がセットされます。 ** 書式記号は C 言語と同じみたいです。 ■chomp (最後の CR/LF 除去) 【例】 $a = chomp("abc\n"); ** $a には、'abc' がセットされます。 ■s (文字変換) 【例】 $a =~ s/ //g; #// 半角空白を削除 $a =~ s/\,/\n/g; #// カンマを改行に変換 $a =~ s/a/b/g; #// a を b に変換 $a =~ s/\n//g; #// 改行コードの削除 $a =~ s/\n/ /g; #// 改行コードを半角空白に変換 ■tr (文字変換) 【例】 $a =~ tr/a/b/; #// a を b に変換 $a =~ tr/a/b/c; #// a 以外を b に変換 $a =~ tr/ab/b/d; #// a を削除 $a =~ tr/a//s; #// a の連続を 1 文字に変換 ■split (セパレータによる文字列分割、文字分割) 【例】 @a = split(/\,/, "abc\,defg\,hi"); ** @a[0] = 'abc'、@a[1] = 'defg'、@a[2] = 'hi' とセットされます。 ■join (配列文字列結合) 【例】 @a[0] = 'abc'; @a[1] = 'defg'; @a[2] = 'hi'; $b = join('', @a); ** $b には、'abcdefghi' がセットされます。 ■reverse (配列反転) 【例】 @a[0] = 'abc'; @a[1] = 'defg'; @a[2] = 'hi'; @b = reverse(@a); ** @b[0] = 'hi'、@b[1] = 'defg'、@b[2] = 'abc' とセットされます。 $s = 'abcdef'; @w = split(//, $s); @w = reverse(@w); $s = join('', @w); ** $s の文字列を反転します。 ■localtime (ローカル時間) 【例】 ($ss, $mn, $hh, $dd, $mm, $yy) = localtime(time); $yy += 1900; $mm++; $dttm = sprintf("%04d.%02d.%02d %02d:%02d:%02d", $yy, $mm, $dd, $hh, $mn, $ss); ** $dttm には、'2001.01.25 19:00:00' がセットされます。 (システム日付、システム時間、現在日付取得、現在時刻取得) ■crypt (文字列暗号化) 【例】 $s = crypt("abc012", "sk"); | | |_ 英数字 2 文字の暗号化キー | |_ 通常文字列 |_ 暗号化文字列 ** 暗号化を復元する関数はない。 従って、パスワードの比較などは、入力パスワードを同暗号化キーで暗号 化し、暗号化状態で比較する。 ■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料
■PHP 基礎編資料
■PHP + MySQL 編資料