CGI WEB [ CGI配布 CGI解説 ホームページ作成支援 ]
ホーム|CGI配布|CGIランキング|CGIサポート|CGI解説|ワンタッチボード|ワンタッチメール|クイズ|自宅サーバ|サーバガイド|登録太郎|CGI WEBサーチ|CGI WEB窓口


back
演算子





Perlで使用する事が出来る演算子をまとめてみました。

■計算演算子

+ (加算)  - (減算)  * (乗算)  / (除算)  % (剰余)  ** (べき乗)

■文字列操作演算子

x 繰り返し  "abc" x 3 = abcabcabc
. 結合    "abc"."xyz" = abcxyz

■代入演算子

$a =  $b
$a += $b ($a = $a + $b)
$a -= $b ($a = $a - $b)
$a *= $b ($a = $a * $b)
$a /= $b ($a = $a / $b)
$a %= $b ($a = $a % $b)
$a **= $b ($a = $a ** $b)
$a x= $b ($a = $a x $b)
$a .= $b ($a = $a . $b)

■比較演算子
Perlでは数値として比較する場合と文字として比較する場合とでは比較演算子を変える必要があります。

□数値として比較

$x == $y  $xと$yが等しい
$x != $y  $xと$yが等しくない
$x <  $y  $xが$yより小さい
$x >  $y  $xが$yより大きい
$x <= $y  $xが$y以下
$x >= $y  $xが$y以上
$x <=> $y  コンペアを行う

□文字として比較(文字コードで比較)

$x eq $y  $xと$yが等しい
$x ne $y  $xと$yが等しくない
$x lt $y  $xが$yより小さい
$x gt $y  $xが$yより大きい
$x le $y  $xが$y以下
$x ge $y  $xが$y以上
$x cmp $y  コンペアを行う

□比較演算子の使用例

if ($x ne $y) {
  $xと$yを文字として比較して等しくない場合の処理
}

□コンペアの性質

$x == $yの場合は0
$x < $yの場合は-1
$x > $yの場合は1を返す

■論理演算子
複数の条件を指定する時などに使用します。

□論理和
「or」または「||」  「||」の方が優先順位が高い

□論理積
「and」または「&&」  「&&」の方が優先順位が高い

□否定
「not」または「!」  「!」 の方が優先順位が高い

□論理演算子の使用例

if ($x > $y && $flag == 1) {
  $xが$yより大きく$flagが1の場合の処理
}

□特殊な使い方

$a = $b || $c;

$bが真の場合は$bを$aに格納
$bが偽の場合は$cを$aに格納

■自動インクリメント・自動デクリメント

$val = 1;    $valに1を代入
print $val++;  $valの値を返した後にインクリメントするので「1」と表示
print $val;   ここで「2」と表示
print ++$val;  インクリメントした後に$valの値を返すので「3」と表示
print $val--;  $valの値を返した後にデクリメントするので「3」と表示
print $val;   ここで「2」と表示
print --$val;  デクリメントした後に$valの値を返すので「1」と表示



□更新履歴
 2007.04.11 全体的に内容を見直し




CGI WEB