Command-Line Program Patterns
Option Flags
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
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";
$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
$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