Conditional Statements ifelse and unless

Perl offers two conditional statements, if and unless, which function opposite one another. if enables you to execute a block of code only if certain conditions are met so that you can control the flow of logic through your program. Conversely, unless performs the statements when certain conditions are not met.

The following sections explain and demonstrate how to use these conditional statements when writing scripts for Linux.

The syntax of the Perl if/else structure is as follows:

statement or block of code } elsif (condition) {

statement or block of code } else {

statement or block of code

condition can be a statement that returns a true or false value.

Truth is defined in Perl in a way that might be unfamiliar to you, so be careful. Everything in Perl is true except 0 (the digit zero), "0" (the string containing the number 0), "" (the empty string), and an undefined value. Note that even the string "00" is a true value because it is not one of the four false cases.

The statement or block of code is executed if the test condition returns a true value.

For example, Listing 27.3 uses the i f/else structure and shows conditional statements using the eq string comparison operator.

Listing 27.3. if/elsif/else if ($favorite eq "chocolate") {

print "I like chocolate too.\n"; } elsif ($favorite eq "spinach") {

print "Oh, I don't like spinach.\n"; } else {

print "Your favorite food is $favorite.\n";

unless unless works just like if, only backward. unless performs a statement or block if a condition is false:

print "Go away, you're not allowed in here!\n";

Was this article helpful?

0 0

Post a comment