in reply to Perl for all ages?

Here are some stats on monks who have coded their homepages with the magic 'birthday' tag, taken from the wonderful Perl Monks Statistical Page.
Average age: 33 years, 1 month, 9 days.
Distribution:

10 10-19 224 20-29 279 30-39 73 40-49 18 50-59 4 60-69
Here is the generating code:
$ curl -sS -o m#1 'http://tinymicros.com/pm/index.php?goto=MonkBirthda +ys&start={0,50,100,150,200,250,300,350,400,450,500,550,600,650}' $ perl -le 'for (0..13) {$x=$_*50;$y=sprintf q{%02d}, $_; system(qq{mv + m$x monk_birthday_$y.html})==0 or die;}' $ perl -wlne 'print $1 if m{^<TD BGCOLOR="#CCCCFF" ALIGN="RIGHT"><NOBR +>(\d{4}-\d{2}-\d{2})</NOBR></TD>$};' m* > dates.dat $ vi dates.dat 656 birthdays - 4 are over 100 - 38 give birthday but not birthyear - 5 are 7 years old or less - 1 is negative (time traveler?) --- 608 valid birthdays $ perl -MDateTime -MDateTime::Format::ISO8601 -wlne 'BEGIN{$today=Date +Time->today()} my $dt = DateTime::Format::ISO8601->parse_datetime($_) + or die; print $today->subtract_datetime($dt)->years' dates.da +t > ages_in_years.dat $ perl -MDateTime -MDateTime::Format::ISO8601 -wlne 'BEGIN{$today=Date +Time->today()} my $dt = DateTime::Format::ISO8601->parse_datetime($_) + or die; print $today->subtract_datetime($dt)->delta_months' dates.da +t > ages_in_months.dat $ perl -wlne '$h{int($_/10)}++; END{printf qq{%7d\t%d-%d\n}, $h{$_}, $ +_*10,($_+1)*10-1 for sort keys %h}' ages_in_years.dat 10 10-19 224 20-29 279 30-39 73 40-49 18 50-59 4 60-69 $ perl -wlne '$c++; $t+=$_; END{print "Average: ", $t/$c/12}' ages_in_ +months.dat Average: 33.1097861842105