Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
The stupid question is the question not asked
 
PerlMonks  

Re: How can I change the perl program involving if-elsif-else conditional to get correct result?

by 2teez (Chaplain)
on Apr 23, 2012 at 11:03 UTC ( #966576=note: print w/ replies, xml ) Need Help??


in reply to How can I change the perl program involving if-elsif-else conditional to get correct result?

You can do the following, but I will also advise you understand how perl works

Put all your variable into a subroutine, and then iterate over them getting and returning the largest as done below in case (a)

Case a:

#!/usr/bin/perl use warnings; use strict; my $a=0.9; my $b=0.7; my $c=0.5; my $lar_value=max($a,$b,$c); print $lar_value," is the greatest",$/; sub max{ my $init=shift(@_); foreach(@_){ if($init>$_){ $init=$init; }else{$init= $_} } return $init; }

Case b: One can also use a module **List::Util** from CPAN http://search.cpan.org/~pevans/Scalar-List-Utils-1.25/lib/List/Util.pm. like this

#!/usr/bin/perl use warnings; use strict; use List::Util qw(max); my $a=0.9; my $b=0.7; my $c=0.5; my $lar_value=max($a,$b,$c); print $lar_value, " is the greatest\n";
I hope this helps.


Comment on Re: How can I change the perl program involving if-elsif-else conditional to get correct result?
Select or Download Code
Re^2: How can I change the perl program involving if-elsif-else conditional to get correct result?
by nemesdani (Friar) on Apr 23, 2012 at 11:45 UTC
    Or instead of reinventing the wheel, you could sort a list:

    my @list = sort ($a, $b, $c); print $list[$#list];

    I'm too lazy to be proud of being impatient.
      If you are going to do it like that, you need a numeric sort, not the default alphabetic sort:
      @sorted = sort{$a <=> $b}($x, $y, $z); print $sorted[-1];
      Also, $a and $b are special variables reserved for sort and other purposes. Don't uses these for normal user variables.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://966576]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (11)
As of 2013-05-23 09:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best material for plates (tableware) is:









    Results (478 votes), past polls