Hi
I'm sure I'm doing something completely stupid, but am baffled with these
results I'm getting. I'm getting a user to select a timezone and the
is_valid_name check is *always* coming back false - for my example I'm
using 'Europe/London', but I've tried a few in different categories with
the same result.
Testing I've done:
my $timezone_name = "Europe/London";
printf( "Is %s valid? %d\n", $tz_name, DateTime::TimeZone::is_valid_name );
# Prints Is Europe/London valid? 0
This is in contrast to my own tests, where I mimic what is_valid_name is
doing:
my $tz = try {
local $SIG{__DIE__};
DateTime::TimeZone->new( name => $tz_name );
};
print $tz && $tz->isa('DateTime::TimeZone') ? 1 : 0; # Prints 1
I can't see why one would print 1 and the other 0, as as far as I can tell,
they're essentially doing the same thing - but there must be *something*
different! Obviously I could use my test in the production environment,
but then I still wouldn't understand why the results are different and
aside from the fact that I'd like to understand why, that may lead to
unexpected results in future.
Thanks
Chris