Sha256: a24e323ac6a367a8c41ff4397936b56d2cae6af8d65282e51743fc67399f8658

Contents?: true

Size: 643 Bytes

Versions: 73

Compression:

Stored size: 643 Bytes

Contents

package Triangle;
use strict;
use warnings;

use Scalar::Util qw(looks_like_number);

sub kind {
    my ($x, $y, $z) = @_;
    die 'TriangleError - Needs exactly 3 paramaters' if @_ != 3;
    foreach my $v (@_) {
        die "TriangleError - Not a number ($v)" if not looks_like_number($v);
		die "TriangleError - Negative number ($v)" if $v < 0;
		die "TriangleError - Zero side ($v)" if $v == 0;
    }
	die "TriangleError - illegal triple (@_)" if
		$x + $y <= $z or
		$x + $z <= $y or
		$y + $z <= $x;

    return 'equilateral' if $x == $y and $y == $z;
    return 'isosceles' if $x == $y or $x == $z or $y == $z;
	return 'scalene';
}


1;

Version data entries

73 entries across 73 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.179 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.178 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.177 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.176 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.175 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.174 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.173 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.172 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.171 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.170 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.169 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.167 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.166 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.165 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.164 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.163 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.162 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.161 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm
trackler-2.2.1.160 tracks/perl5/exercises/triangle/.meta/solutions/Triangle.pm