in reply to Re: If statement seems to ignore elsif and skips to else
in thread If statement seems to ignore elsif and skips to else
Even with breakpoints it will not stop on the false if conditions.
The test program:
And now the execution under the debugger, with the insertion of four break points:$ cat debugger.pl use strict; use warnings; use feature 'say'; my $c = shift; if ($c == 1) { say 1; } elsif ($c == 2) { say 2; } elsif ($c == 3) { say 3; } else { say "something else"; }
$ perl -d debugger.pl 4 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. main::(debugger.pl:5): my $c = shift; DB<1> b 7 DB<2> b 8 DB<3> b 9 DB<4> b 10 DB<5> s main::(debugger.pl:6): if ($c == 1) { DB<5> s main::(debugger.pl:13): say "something else"; DB<5> s something else Debugged program terminated. Use q to quit or R to restart, use o inhibit_exit to avoid stopping after program termination, h q, h R or h o to get additional info.
|
---|
In Section
Seekers of Perl Wisdom