my @days = _('Mon'),_('Tues'),_('Wed'),_('Thurs'),_('Fri'),_('Sat'),_('Sun');
sub day_of_week {
my $self = shift;
return $days[ $self->{day_num} ];
}
####
package i18n::String;
use strict; use warnings;
no warnings 'once';
use overload q{""} =>
sub { $i18n::Current_Lang->maketext( ${ $_[0] } ) };
sub new {
my $class = shift;
my $string = shift;
return bless( \$string, $class );
}
1;
####
sub good {
my %params = ref $_[0] eq 'HASH? ? %{shift @_} : @_;
}
sub bad_but_typical {
my %params = ref $_[0] ? %{shift @_} : @_;
}
####
{
no strict 'refs';
my $zero_isa = '0::ISA'; # Use a symbolic reference to make package '0'
*$zero_isa = ['i18n::String']; # inherit from i18n::String
}
package i18n::String;
use strict; use warnings;
no warnings 'once';
use overload q{""} =>
sub { $i18n::Current_Lang->maketext( ${ $_[0] } ) };
sub new {
my $class = shift;
my $string = shift;
return bless( \$string,'0' ); # bless the scalar ref into class '0' instead of $class
}
1;