Hi everyone, I think my question relates to STDOUT rather than Time::Piece but I'm not sure.
I am trying to use Time::Piece to process and convert a string which may be a bit dodgy. What I can't understand is how to capture the problem. The following code only captures the problem with the second test in the $EVAL_ERROR ($@). The problem with the first one ("garbage at end of string in strptime: ...") just goes to the screen - but I need to be able to handle it. This is a snippet of code to show what I mean: # # # # # # # #!/usr/bin/perl use strict; use warnings; use Time::Piece; my @tests = ( '28 FEB 2008 stuff at the end to see what Time::Piece does', 'blah 28 FEB 2008' ); my $format = '%d %h %Y'; foreach my $i ( 0..$#tests ) { print "\nTEST $i\n"; eval { my $date_object= Time::Piece->strptime($tests[$i], $format); print $date_object->dmy("/") . "\n"; }; if ($@) { print "eval error: $@"; } } # # # # # # # The output from running this is: $ perl test.pl TEST 0 garbage at end of string in strptime: stuff at the end to see what Time::Piece does at C:/Perl/site/lib/Time/Piece.pm line 470. 28/02/2008 TEST 1 eval error: Error parsing time at C:/Perl/site/lib/Time/Piece.pm line 470. $ -- Myf White Work like you don't need the money. Love like you've never been hurt. Dance like nobody's watching. ~ Satchel Paige