Search⌘ K
AI Features

if-elsif-else Statement

Explore how to implement Perl conditional statements using if, elsif, and else constructs. Learn to evaluate multiple conditions and control the execution flow based on different scenarios.

The elsif statement

When there are different possible actions against a set of different conditions, then elsif is used to extend the if statement. The conditional block starts with an if-statement followed by multiple elsif statements, each with a different condition, and may end with an optional else-statement.

Syntax

The syntax and usage of the if-statement with the elsif statement are presented in the following example.

Perl
$score=50; #change the value of score to see other results
if ($score > 100){ # If score is greater than 100
print "Error: the score is greater than 100!\n";
}
elsif ($score < 0){ # Else If score is less than 0
print "Error: the score is less than 0!\n";
}
elsif ($score >= 50){ # Else if score is greater or equal to 50
print "Pass!\n";
}
else{ # If none above, then score must be between 0 and 49
print "Fail!\n";
}

Explanation

  • All the statements in the code above will run in order from top to bottom until a condition has been met.

  • On line 3, we check if score is greater than 100.

  • On line 6, we check if score is less than 0.

  • On line 9, we check if score is greater than or equal to 50.

  • On line 12, the else condition will execute if all the conditions above evaluate to “false”.

Changing score values

  • If you change the score to “110” the output displayed would be “Error: the score is greater than 100!”

  • If you change the score to “-20” the output displayed would be “Error: the score is less than 0!”

  • If you change the score to “48” the output displayed would be: “Fail”

Logical operators in if condition

Logical operators can possibly be used to include multiple conditions in one if or elsif statement, as given in the following example:

Perl
$score=70; #change the value of score to see other results
if ($score <= 100 && $score >= 50 ){ # If score is greater than 100
print "Pass!\n";
}
elsif ($score >= 0 && $score < 50) {
print "Fail!"
}
else{ # If none above, then score must be less than 0 or greater than 100
print "Invalid!\n";
}