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

In reply to Re: Body Mass Index Calculator by GrandFather
in thread Body Mass Index Calculator by naildownx

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.