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
Perlの書籍
  • 初めてのPerl 第7版

    Perl入門 定番の一冊
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
  • 詳説 正規表現

    正規表現の詳細な解説
  • Perlの書籍販売 14冊 »
自己紹介
木本裕紀(きもとゆうき)

Twitter

フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎
Perlの求人広告募集中