> That isn't quite the same thing.  The code I had in mind would need to
> do:
> --
> my $dta = "DateTime::TimeZone::Alias";
> if ( not $dta->is_defined( "EST" ) ) {
>     $dta->add( EST => "US/Eastern" );
> }
> elsif ( ( $dta->is_alias("US/Eastern") and
>           $dta->value( "EST" ) eq $dta->value( "US/Eastern" )
>          ) or
>          $dta->value( "EST" ) eq "US/Eastern"
>        )
> {
>     croak "Redefining timezone";
> }
> --

Btw - US/Eastern is defined as an alias unless you removed it earler in the program.

How would an add method that returns silently if an alias is already defined tell if 
an alias has been redefined somewhere else?

If you mean;

if ( ! DateTime::TimeZone::Alias->value( 'EST' ) eq 'US/Eastern' ) {
        croak "timezone alais was redefined";
}

or

if ( ! DateTime::TimeZone::Alias->value( 'EST' ) eq 'US/Eastern' ) {
        DateTime::TimeZone::Alais->set( EST => 'US/Eastern' );
}

Then say it.

-J

--


Reply via email to