質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Q&A

解決済

1回答

1172閲覧

Perlの比較演算子について

poteto

総合スコア142

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

0グッド

0クリップ

投稿2014/06/03 01:37

Perlでの比較演算子でよくわからないものがあります。
この比較は何を意味しているのでしょうか?

(例)
if ($val eq 'hoge') { .... }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これは文字列演算子です。
文字列演算子の種類としては以下のものがあります。

`

eq : 左引数と右引数が等しければ真を返します。

if ('1' eq '1') {
print "等しい\n";
}

ne : 左引数と右引数が等しくなければ真を返します。

if ('1' ne '2') {
print "等しくない\n";
}

lt : 左引数が右引数より小さければ真を返します。

if ('1' lt '2') {
print "左が小さい\n";
}

gt : 左引数が右引数より大きければ真を返します。

if ('2' gt '1') {
print "左が大きい\n";
}

le : 左引数が右引数と同じか小さければ真を返します。

if ('1' le '1' && '0' le '1') {
print "左が右より同じもしくは小さい\n";
}

ge : 左引数が右引数と同じか大きければ真を返します。

if ('1' ge '1' && '1' ge '1') {
print "左が右より同じもしくは大きい\n";
}

cmp : 等しければ0、大きければ1、右引数が大きければ-1を返します。

if (('1' cmp '1') == 0) {
print "等しい\n";
}
if (('1' cmp '2') == -1) {
print "右が大きい\n";
}
if (('2' cmp '1') == 1) {
print "左が大きい\n";
}
`

よく見る数値比較演算子でも比較は可能です。
但し、数値に変換してから比較しています。

投稿2014/06/04 07:38

yakitoritabetai

総合スコア135

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問