文字列のマッチ

$data =~ /pattern/ の形です。

テスト環境

Windows XP Professional Service Pack 3
ActivePerl 5.8.8 Build 822
Encode-2.33

サンプル コード

処理の結果は、shiftjis で出力されます。
スクリプトは utf8 で保存してください。

#!/usr/local/bin/perl

use utf8;
use strict;
use Encode;

binmode STDOUT, ":encoding(shiftjis)";

# 変数の設定
my $e_b_text = '子丑寅卯辰巳午未申酉戌亥';
my $animal = '丑';

# $e_b_text の中に $animal があるか
if ($e_b_text =~ /$animal/) {
print "${animal}がいました。";
}else{
print "${animal}がいません。";
}

“$animalがいました。”とそのまま書いてしまうと、そういう変数だと判断されてエラーになります。
逆に言うと、use utf8 プラグマを宣言することでそういった変数名も利用可能になります。

余談

インデントを再現すると面倒なことになりそうなので、今回はパス。


Powered by NIVOSIdE

今後 Google Analytics によるアクセス解析に記録を残さない