有限会社ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ

管理運営:有限会社ミスティーネット

| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

ミスティーネットPerl・CGI講座/WEB講座一覧
ミスティーネット
HTML講座 HTML講座
スタイルシート講座 スタイルシート講座
JavaScript講座 JavaScript講座
UNIXコマンド講座 UNIXコマンド講座

ミスティーネット
ラブラブメールでツーショット

人気サイトランキング

人気サイトランキング

8daysランキング

  HOME >> 演算子について
  1. 数値を扱う演算子
  2. 文字を扱う演算子
  3. 論理演算子
  4. ファイルテスト演算子
■ 数値を扱う演算子
演算子を使うことで、数値の計算や比較を行なうことが出来ます。

数値計算(四則計算)を行なう場合は、算術演算子を使用します。

$aa = 7 + 3;
$aa = 7 - 3;
$aa = 7 * 3;
$aa = 7 / 3;
$aa = 7 % 3;
$aa = 7 ** 3;

$aa++;
++$aa;
$aa--;
--$aa;

$aa += 3;
$aa -= 3;
$aa *= 3;
$aa /= 3;
$aa %= 3;
$aa **= 3;
# 足し算
# 引き算
# 掛け算
# 割り算
# 7を3で割った余り
# 7の3乗(= 343)

# $aa の値に1加算する(加算前の値を返す)
# $aa の値に1加算する(加算後の値を返す)
# $aa の値を1減算する(減算前の値を返す)
# $aa の値を1減算する(減算後の値を返す)

# $aa = $aa + 3; と同義
# $aa = $aa - 3; と同義
# $aa = $aa * 3; と同義
# $aa = $aa / 3; と同義
# $aa = $aa % 3; と同義
# $aa = $aa ** 3; と同義



if ($aa == $bb)
if ($aa != $bb)
if ($aa < $bb)
if ($aa > $bb)
if ($aa <= $bb)
if ($aa >= $bb)
if ($aa <=> $bb)
# $aa と $bb が等しい場合
# $aa と $bb が異なる場合
# $aa が $bb より小さい場合
# $aa が $bb より大きい場合
# $aa が $bb 以下の場合
# $aa が $bb 以上の場合
# $aa が $bb より小さい場合は -1、等しい場合は 0、$aa が $bb より大きい場合は 1 を返す



条件演算子を使うと、条件文を1行で表現することができます。
2者選択の簡単な条件分岐なら、条件演算子で可能です。

# $x が9より大きい場合は 「OK」、それ以外は「NG」

$aa = ($x > 9) ? "OK" : "NG";





■ 文字を扱う演算子
文字列演算子を使うと、文字同士を結合したり、比較を行なうことが出来ます。

# 文字の連結
$aa = "AAA" . "BBB";    ← "AAABBB" が返される

# 繰り返し文字
$aa = "ABC" x 3;    ← "ABCABCABC" が返される



if ($aa eq $bb)
if ($aa ne $bb)
if ($aa lt $bb)
if ($aa gt $bb)
if ($aa le $bb)
if ($aa ge $bb)
if ($aa cmp $bb)

if ($aa =~ /BBC/)
if ($aa !~ /NHK/)
# $aa と $bb が等しい場合
# $aa と $bb が異なる場合
# $aa が $bb より小さい場合
# $aa が $bb より大きい場合
# $aa が $bb 以下の場合
# $aa が $bb 以上の場合
# $aa が $bb より小さい場合は -1、等しい場合は 0、$aa が $bb より大きい場合は 1 を返す
# $aa が 正規表現 BBC とマッチした場合
# $aa が 正規表現 NHK とマッチしない場合
文字列の比較の場合、大小の比較は文字コードの順で比較を行ないます。
ここでは、変数を使った文字の比較を行なっていますが、直接文字を指定する場合には、
「’(シングルクォーテーション)」 か 「”(ダブルクォーテーション)」 などで囲む必要があります。





■ 論理演算子
論理演算子を使うと、複数の条件を設定してより複雑な条件分岐が可能となります。


if (($aa == 5) && ($bb == 9))
if (($aa == 5) || ($bb == 9))
if (!($aa == 5))
if (($aa == 5) and ($bb == 9))
if (($aa == 5) or ($bb == 9))
if (not ($aa == 5))
# $aa が 5、かつ $bb が 9 ならば
# $aa が 5、もしくは $bb が 9 ならば
# $aa が 5 でなければ
# $aa が 5、かつ $bb が 9 ならば
# $aa が 5、もしくは $bb が 9 ならば
# $aa が 5 でなければ
「&&」 と 「and」、「||」 と 「or」 、「!」 と 「not」 は同じ意味です。
「and、or、not」 より 「&&、||、!」 の方が高い優先順位を持ちます。





■ ファイルテスト演算子
ファイルテスト演算子では、ファイルの性質をチェックします。


if (-r $file)
if (-w $file)
if (-x $file)
if (-o $file)

if (-R $file)
if (-W $file)
if (-X $file)
if (-O $file)

if (-e $file)
if (-z $file)
if (-s $file)

if (-f $file)
if (-d $file)
if (-l $file)
if (-p $file)
if (-S $file)
if (-b $file)
if (-c $file)
if (-t $file)

if (-u $file)
if (-g $file)
if (-k $file)

if (-T $file)
if (-B $file)

if (-M $file)
if (-A $file)
if (-C $file)
# 読み込み可能である場合
# 書込み可能である場合
# 実行可能である場合
# ファイルの権限が自分のものである場合

# 実 uid/gid で読み込み可能である場合(UNIX)
# 実 uid/gid で書込み可能である場合(UNIX)
# 実 uid/gid で実行可能である場合(UNIX)
# 実 uid が自分のものである場合(UNIX)

# ファイルが存在する場合
# ファイルサイズが 0 の場合
# ファイルサイズが 0 でない場合(ファイルサイズを返す)

# 通常のファイルの場合
# ディレクトリの場合
# シンボリックリンクの場合
# 名前つきパイプの場合
# ソケットの場合
# ブロック型特殊ファイルの場合
# キャラクタ型特殊ファイルの場合
# 端末に開いているファイルハンドルの場合

# setuid ビットがセットされている場合
# setgid ビットがセットされている場合
# sticky ビットがセットされている場合

# テキストファイルの場合
# バイナリファイルの場合

# ファイルの更新時刻がプログラム起動時より古い場合
# ファイルの参照時刻がプログラム起動時より古い場合
# ファイルの作成時刻がプログラム起動時より古い場合





← 前のページへ戻る 次のページへ →


| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 有限会社ミスティーネット Inc. All Right Reserved.