in reply to inserting date into mysql
Why don't you believe Perl when it says that $trade_dt is not initialized?
Which one of these three lines is line number 42?
my $tdate = $fields[0]; print "$tdate\n"; my $trade_dt=UnixDate($tdate,"%Y-%m-%d"); # my $trade_dt = DATE(\"$tdate\"); print "$trade_dt\n";
If you want to help us help you better, please post a complete, self-contained example of your program. Please do spend the effort and make it shorter than 20 lines.
As a debugging tip, I always do my debug print statements with some prefix and delimiters around the data:
... print "TDATE: [$tdate]\n"; ... print "TRADE_DT: [$trade_dt]\n"; ...
That way, I can also see whether something is the empty string or did not print at all.
Update: My prediction is that you will see the following output:
TDATE: [10/14/2011] TRADE_DT: []
... and that would be because whatever unspecified date library you use does not raise an error when you pass it a malformed date. Your date input is in MM/DD/YYYY format, but you specify it as %Y-%m-%d format, and the conversion/deparsing fails.
|
|---|