#!/usr/bin/perl
use strict;
use warnings;
use Switch;
my $srcdir = "D:/source/";
my $srcfile = $srcdir."money.dat";
open (READ, "< $srcfile") || die "Can't find the dat file\n";
my ($date, $expense, $income);
my $epochToday = time;
my $last30days = $epochToday - 2592000;
my ($year, $month, $day) = (localtime($last30days))[5,4,3];
$month++;
$year+=1900;
my $mon;
switch ($month)
{
case [1] {$mon="Jan"}
case [2] {$mon="Feb"}
case [3] {$mon="Mar"}
case [4] {$mon="Apr"}
case [5] {$mon="May"}
case [6] {$mon="Jun"}
case [7] {$mon="Jul"}
case [8] {$mon="Aug"}
case [9] {$mon="Sep"}
case [10] {$mon="Oct"}
case [11] {$mon="Nov"}
case [12] {$mon="Dec"}
}
my $lastdate = $day."-".$mon."-".$year;
my $read;
my $total;
while (<READ>)
{
chop;
($date, $expense, $income) = split(/,/,$_);
$total = $expense+$income;
@data_date = ($date);
MY PROBLEM STARTS HERE!!!!!
if($lastdate =~ /^@data_date/)
{
}
@data = ($total);
push @data, [@data_date];
push @recent, [@data];
$read++;
}
close READ || die "Couldn't close the dat file";
my $desdir = "D:/target/";
my $desfile = $desdir."total.csv";
open (WRITE, "< $desfile") || die "Can't find the csv file.\n";
my $y=0;
foreach(@recent)
{
$printout .= "$recent[$y][0],$recent[$y][1]\n";
$y++;
}
print WRITE $printout;
close WRITE || die "Couldn't close the csv file.\n";
exit ;
|