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

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「今日も元気だ、Perlで元気。
ゆとりあるITエンジニアライフのために
Perl情報を前向きに発信中!」

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

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!