Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 構文
  3. here

unless修飾子 - 後置のunless

unless修飾子を使うとunlessを後置することができます。

文 unless 条件;

unless修飾子を使ったサンプルです。$numが定義されていない場合に、「$num」に1を代入するという処理を行っています。

$num = 1 unless defined $num;

一行で書ける簡単な条件のときはunless修飾子を使うメリットがあります。 「next unless 条件」「last unless 条件」などがよく利用されます。

unless修飾子のメリット

通常のunless文と比べてunless修飾子のメリットはパフォーマンスです。unless文はスコープを作るのに対して、unless修飾子はスコープを作りません。そのためunless修飾子の方がパフォーマンスがよいです。

if修飾子

unless修飾子と同じように後置することができるif修飾子というものがあります。

$num1 = 1 if defined $num1;

if修飾子については以下で詳しく解説しています。

サンプル

unless修飾子のサンプルです。

use strict;
use warnings;

# 後置のunless
print "1: 後置のunlessの例\n";
my $num1;
$num1 = 1 unless defined $num1;
print "\$num1 = $num1\n";

my $num2 = 10;
$num2 = 2 unless defined $num2;
print "\$num2 = $num2\n";

実行結果

1: 後置のunlessの例
$num1 = 1
$num2 = 10
Giblog