#! perl -slw use strict; use Date::Manip; sub prompt{ printf $_[ 0 ]; chomp( local $_ = ); $_; } my @breakfast = qw[ bagel cereal toast yogurt ]; my @lunch = qw[ sandwich milkshake pb&j hoagie ]; my @dinner = qw[ pasta rice chicken steak ]; my( $start, $end ) = ('')x 2; $start = prompt 'Enter start date: ' until $start = ParseDate( $start ); $end = prompt 'Enter end date: ' until $end = ParseDate( $end ); do{ my $date = UnixDate( $start, '%F' ); print $date, $/, '-' x length $date; print 'Breakfast: ', $breakfast[ rand @breakfast ]; print 'Lunch : ', $lunch[ rand @lunch ]; print 'Dinner : ', $dinner[ rand @dinner ]; print '-' x length $date, $/; } until( not Date_Cmp( $start = DateCalc( $start, '+1 day' ), $end ) ); __END__ C:\test>stuff Enter start date: 1st jan 2003 Enter end date: 2003/02/01 Wednesday, January 1, 2003 --------------------------- Breakfast: toast Lunch : pb&j Dinner : rice --------------------------- Thursday, January 2, 2003 -------------------------- Breakfast: bagel Lunch : hoagie Dinner : chicken -------------------------- Friday, January 3, 2003 ...