DateTime-Calendar-Hebrew
view release on metacpan or search on metacpan
'<=>' => '_compare_overload',
'cmp' => '_compare_overload',
'+' => '_add_overload',
'-' => '_subtract_overload';
sub new {
my $class = shift;
my %p = validate( @_,
{ year => { type => SCALAR },
month => { type => SCALAR, default => 1,
callbacks => {
'is between 1 and 13' =>
sub { $_[0] >= 1 && $_[0] <= 13 }
}
},
day => { type => SCALAR, default => 1,
callbacks => {
'is between 1 and 30' =>
sub { $_[0] >= 1 && $_[0] <= 30 }
}
},
hour => { type => SCALAR, default => 0,
callbacks => {
'is between 0 and 23' =>
sub { $_[0] >= 0 && $_[0] <= 23 }
}
},
minute => { type => SCALAR, default => 0,
callbacks => {
'is between 0 and 59' =>
sub { $_[0] >= 0 && $_[0] <= 59 }
}
},
second => { type => SCALAR, default => 0,
callbacks => {
'is between 0 and 59' =>
sub { $_[0] >= 0 && $_[0] <= 59 }
}
},
nanosecond => { type => SCALAR, default => 0,
callbacks => {
'is between 0 and 999999999' =>
sub { $_[0] >= 0 && $_[0] <= 999999999 }
}
},
sunset => { type => OBJECT, optional => 1 },
time_zone => { type => SCALAR, optional => 1 },
} );
my $self = bless \%p, $class;
my $new_object = $class->new(%args);
return $new_object;
}
sub set {
my $self = shift;
my %p = validate( @_,
{ year => { type => SCALAR, optional => 1 },
month => { type => SCALAR, optional => 1,
callbacks => {
'is between 1 and 13' =>
sub { $_[0] >= 1 && $_[0] <= 13 }
}
},
day => { type => SCALAR, optional => 1,
callbacks => {
'is between 1 and 30' =>
sub { $_[0] >= 1 && $_[0] <= 30 }
}
},
hour => { type => SCALAR, optional => 1,
callbacks => {
'is between 0 and 23' =>
sub { $_[0] >= 0 && $_[0] <= 23 }
}
},
minute => { type => SCALAR, optional => 1,
callbacks => {
'is between 0 and 59' =>
sub { $_[0] >= 0 && $_[0] <= 59 }
}
},
second => { type => SCALAR, optional => 1,
callbacks => {
'is between 0 and 59' =>
sub { $_[0] >= 0 && $_[0] <= 59 }
}
},
nanosecond => { type => SCALAR, optional => 1,
callbacks => {
'is between 0 and 999999999' =>
sub { $_[0] >= 0 && $_[0] <= 999999999 }
}
},
sunset => { type => OBJECT, optional => 1 },
time_zone => { type => SCALAR, optional => 1 },
} );
$self->{$_} = $p{$_} for keys %p;
( run in 0.246 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )