Control Flow Patterns
Unless Guard
An unless block runs only when a condition is false, which makes it useful for guard checks.
Unless Guard
unless_guard.pl
use strict;
use warnings;
my $name = ;
my $message;
unless (length $name) {
$message = "missing name";
} else {
$message = "hello $name";
}
print "name=$name\n";
print "message=$message\n";
use strict;
use warnings;
my $name = ;
my $message;
unless (length $name) {
$message = "missing name";
} else {
$message = "hello $name";
}
print "name=$name\n";
print "message=$message\n";
use strict;
use warnings;
my $name = ;
my $message;
unless (length $name) {
$message = "missing name";
} else {
$message = "hello $name";
}
print "name=$name\n";
print "message=$message\n";
guard
A guard handles a special case before the main path continues.