Turn a small option flag into a behavior label.

option-flags Flags are often yes-or-no switches. A program can convert a flag into a clear mode before doing the main work.

Option Flags

verbose
option_flags.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

my $verbose = 1;
my $mode = $verbose ? "verbose" : "quiet";
my $detail = $verbose ? "show details" : "hide details";

print "verbose=$verbose\n";
print "mode=$mode\n";
print "detail=$detail\n";
use strict;
use warnings;

my $verbose = 0;
my $mode = $verbose ? "verbose" : "quiet";
my $detail = $verbose ? "show details" : "hide details";

print "verbose=$verbose\n";
print "mode=$mode\n";
print "detail=$detail\n";
  1. $verbose ← 1, $mode ← verbose, $detail ← show details

    4my $verbose→ 1 = 1; #@verbose=05my $mode→ verbose = $verbose1 ? "verbose" : "quiet";6my $detail→ show details = $verbose1 ? "show details" : "hide details";78print "verbose=$verbose1\n";9print "mode=$modeverbose\n";10print "detail=$detailshow details\n";
    outputverbose=1
    mode=verbose
    detail=show details
  1. $verbose ← 0, $mode ← quiet, $detail ← hide details

    4my $verbose→ 0 = 0;5my $mode→ quiet = $verbose0 ? "verbose" : "quiet";6my $detail→ hide details = $verbose0 ? "show details" : "hide details";78print "verbose=$verbose0\n";9print "mode=$modequiet\n";10print "detail=$detailhide details\n";
    outputverbose=0
    mode=quiet
    detail=hide details