#!/usr/bin/perl -wT
use strict;
my $d = data->new;
print $d->day("10"), "\n";
print $d->now("d"), "\n";
####
10th
10
####
my $temp = $d->now("d");
print $d->day("$temp"), "\n";
####
{ package data;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my @now = localtime();
$now[0] += 1;
$now[3] += 1;
$now[5] += 1900;
my $self = {};
$self->{now_second} = $now[0];
$self->{now_minute} = $now[1];
$self->{now_hour} = $now[2];
$self->{now_day} = $now[3];
$self->{now_month} = $now[4];
$self->{now_year} = $now[5];
bless ($self, $class);
return $self;
}
sub now {
my $self = shift;
my $value = shift;
if ($value eq 's') {
return $self->{now_second};
}
elsif ($value eq 'm') {
return $self->{now_minute};
}
elsif ($value eq 'h') {
return $self->{now_hour};
}
elsif ($value eq 'd') {
return $self->{now_day};
}
elsif ($value eq 'm') {
return $self->{now_month};
}
elsif ($value eq 'y') {
return $self->{now_year};
}
}
sub day {
my $self = shift;
my $value = shift;
if ($value == 1) { "1st" }
elsif ($value == 2) { "2nd" }
elsif ($value == 3) { "3rd" }
elsif ($value == 21) { "21st" }
elsif ($value == 22) { "22nd" }
elsif ($value == 23) { "23rd" }
elsif ($value == 31) { "31st" }
elsif (($value >= 4) && ($value <= 31)) {
return $value . "th";
}
}
sub month {
my $self = shift;
my $value = shift;
if ($value == 1) { "January" }
elsif ($value == 2) { "February" }
#etc...
}
}