![]() |
|
Perl-Sensitive Sunglasses | |
PerlMonks |
comment on |
( #3333=superdoc: print w/replies, xml ) | Need Help?? |
I found a a couple of bugs in your code. First, when I use it today, it prints "Happy 22,023nd unbirthday, dave!" Change the antepenultimate line to: my $unbirthdays = commify( ORD($days_alive - $birthdays));Second, if somebody types in "October" for their month of birth, they'll be surprised to see "Sorry, this is not a month"! Change the line: if ($b_month =~ /0/) {to: if ($b_month != 0) {In fact, I would refactor that bit of code to avoid the programme dying ungraciously if the user enters a non-alphanummeric character:
Lastly, a minor niggle: 1900, for example, was not a leap year, despite being divisible by 4. Update: You also seem to have an off-by-one error. If I claim to have been born today, the output is: Happy 0th unbirthday, dave!Surely, today should be by first (not 0th) unbirthday? In reply to Re^3: Happy unbirthday! (To all, with a challenge)
by Not_a_Number
|
|