Perlの基礎(演算子とか覚えた事の追記)

演算子の「かつ」、「または」


演算子として「かつ」を || としたり「または」を&&とするが
ほぼ同じ意味合いで「かつ」をand、「または」をorという演算子で表現できる。

my $hour = 13;
if ( 9 <= hour and hour <= 17) {
    print 'お仕事中';
}

> お仕事中

なお、||&&よりand,or演算子のほうが優先順位は低くなるようです。

if文とunless文


if文では「もしも・・・だったら」を表現するがunless文では「もしも・・・でなかったら」を表現する。

if文だと・・・

if ($hour != 12) {
    print 'お昼ではありません。';
}

unless文だと・・・

unless ($hour ==12) {
    print 'お昼ではありません。';
}

if文とif修飾子


if文の{ }の内部が1つの文の場合、「if修飾子」を使ってシンプルに書くことができる。

if文では・・・

if ($hour < 8) {
print 'おはようございます。';
}

if修飾子でシンプルに書くと・・・

print 'おはようございます。' if ($hour < 8) ;

というように書くことができる。

if文とif修飾子ではプログラムは同じ動作となる。if文では「条件式を調べて真であれば処理が実行される」と なるが、if修飾子では「処理が実行される。ところでこれが実行されるのは・・の時です」という感じで 条件式よりも実行される処理に重点を置いた表現となる。 この使い分けはプログラムの「読みやすさ」を意識した書き方である。

参考書籍