in reply to Body Mass Index Calculator

I see no indication of expected units for length or weight.

The following comments don't really affect the utility of the script, but are areas you may wish to look at to clean the code up somewhat:

print sprintf can be replaced by printf.

Why is $waist_girth allowed to be negative?

Declarations for single variables don't need to be in a list. Instead just: my $BodyShape;. Even better, declare variables where they are first used ($BodyShape isn't used until half way through the program).

my $BodyFatPercentage = sprintf "%.2f"; does nothing. sprintf will generate '0.00' (and a "Use of uninitialized value" warning) because of the missing parameter required by the %f format item. The chomp in the subsequent line does nothing because the calculation does not append a new line character.

$waist_girth =~ /^-{0,1}\d*\.{0,1}\d+$/ allows '.0' but not '0.'.

Update: corrected sprintf comment (thanks ambrus - though I was sure I'd checked it!).

True laziness is hard work

Replies are listed 'Best First'.
Re^2: Body Mass Index Calculator
by naildownx (Beadle) on Jan 29, 2011 at 21:56 UTC
    Love your signature GrandFather :)
    The early bird gets the worm but the second mouse gets the cheese.
    pretendeavor