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
In reply to Re: Perl If and Elsif statement help
by kcott
in thread Perl If and Elsif statement help
by rammohan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |