perl -MPOSIX -e' my ($tnow,$gday)=(time,int(60*60*24)); ## MANUAL WAY OF FINDING FUTURE DATES my (@precio); ## GETTING THE DATA TO PROCESS open MED,"medicines.txt" or die("file does not open...$!"); @precio=(); close MED; chomp(@precio); ## PRINTING HEADING WITH TODAY'S DATE print("\n** MEDICINE PRICES BY DOSES PER MONTH (".strftime("%d-%B-%Y",localtime).")**\n\n"); my ($acumes); foreach my $li (@precio) ## ASKING FOR DAILY DOSES AND PRINTING PARTIALS AND DATES { next if ($li=~/^[_#\W]/); ## SKIP COMMENTS my ($med,$uni,$pre)=split(/\|/,$li); ## GET FIELDS: PRODUCT,UNITS,PRICE my $dos; printf("Daily dose of %-40s (1..%3i)? =>",$med,$uni);## GET DAILY DOSE $dos=; $dos=~s/[^\d\.]//g; ## CLEAN INPUT my $tot=sprintf("%6.2f",$pre/$uni*$dos*31);## PARTIAL CONSIDERING 31 DAYS IN A MONTH printf(" Costs................. \t %9.2f\$/month [Buy Next:%-18s]$/",$tot,strftime("%d-%B-%Y",localtime($tnow+int($uni/$dos*$gday))));## PARTIAL RESULT $acumes+=$tot } my $lit=sprintf("\n\|Medicine Monthly Total 2 spend :%9.2f\$\ |$/", $acumes); print(" ","=" x (length($lit)-4),$lit," ", "=" x (length($lit)-4),"\n");## PRINTING TOTAL '