You only fixed one of the two problems I mentioned
On Jun 1, 2015 8:21 AM, "Chris Welch" <welch.ch...@gmail.com> wrote:

> Ah - really sorry, that is what I'm doing, just in the test I knocked up
> quickly to demonstrate, I forgot that bit:
>
> my $tz_name = "Europe/London";
> printf( "Is %s valid? %d\n", $tz_name, DateTime::TimeZone::is_valid_name(
> $tz_name ) ); # Still prints Is Europe/London valid? 0
>
> Apologies....!
>
>
> On 1 June 2015 at 13:14, Eric Brine <ikeg...@adaelis.com> wrote:
>
>> The proper usage is
>>
>> DateTime::TimeZone->is_valid_name($name)
>>
>> not
>>
>> DateTime::TimeZone::is_valid_name
>>
>> You need to call it as a method, and you need to pass the name to check.
>>
>>
>> On Mon, Jun 1, 2015 at 8:10 AM, Chris Welch <welch.ch...@gmail.com>
>> wrote:
>>
>>> 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
>>>
>>
>>
>

Reply via email to