in reply to Perl If and Elsif statement help
G'day rammohan,
I recommend you read "perlintro -- a brief introduction and overview of Perl". You'll find links to more detailed documentation throughout that page.
The "Conditional and looping constructs" section will explain the syntax issues with your posted code.
You also have a problem with the condition "($length = 8)". '=' is the assignment operator; here you want '==' which is the numerical comparison operator. These, and other operators, are described in the "Builtin operators and functions" section.
I suspect the example code you were attempting should have looked more like this:
#!/usr/bin/env perl -l use strict; use warnings; my $str = 'perl_script'; my $length = length $str; if ($str eq 'perl_script') { print 'Strings are the same.'; if ($length == 8) { print 'Length is exactly 8.'; } elsif ($length > 8) { print 'Length is more than 8.'; } else { print 'Length is less than 8.'; } } else { print 'Strings are different.'; }
Output:
Strings are the same. Length is more than 8.
Also note that I haven't used the '-w' switch, but I have used the '-l' switch. Both of these are explained in "perlrun - how to execute the Perl interpreter".
-- Ken
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl If and Elsif statement help
by rammohan (Acolyte) on Dec 30, 2013 at 06:59 UTC |