Tripletail
view release on metacpan or search on metacpan
lib/Tripletail/Value.pm view on Meta::CPAN
# RFC ã§ã¯ã©ãã«ã®å
é ã«æ°åãæ¥ãäºãç¦æ¢ãã¦ããããå®éã«ã¯ãã®ãããªãã¡
# ã¤ã³ãåå¨ããã
my $label = qr{
${letter_digit} # RFC ã¨ãã¦ã¯ãã㯠${letter} ãæ£ããã
(?:
${letter_digit_hyphen} {0,61} # ã©ãã«ã¯1æå以ä¸63æå以å
ã
${letter_digit}
)?
}x;
my $domain = qr{^
$label (?: \. $label)*
$}x;
$domain;
};
my @MOBILE_AGENTS = (
# [æ£è¦è¡¨ç¾, UniJP ã®æåã³ã¼ãå]
[qr/^DoCoMo/i , 'sjis-imode'],
[qr/^ASTEL/i , 'sjis-doti' ],
[qr/^Vodafone/i , 'utf8-jsky' ],
[qr/^Vemulator/i , 'utf8-jsky' ],
[qr/^SoftBank/i , 'utf8-jsky' ],
[qr/^Semulator/i , 'utf8-jsky' ],
[qr/^MOT-/i , 'utf8-jsky' ],
[qr/^J-PHONE/i , 'sjis-jsky' ],
[qr/^J-EMULATOR/i, 'sjis-jsky' ],
# Softbank端æ«ãã¤UP.Browserãå«ããã®ãããã®ã§Softbankã®å¾ã«å¤å¥ãããã¨
[qr/UP\.Browser/i, 'sjis-au' ],
);
# æ¥ä»æå»
# åºåãæå
my $DEFAULT_DATE_DELIM = '-';
my $DEFAULT_TIME_DELIM = ':';
# ãã©ã¼ããã
my $YYYYMMDD = 'YYYYMMDD';
my $HHMMSS = 'HHMMSS';
my $YYYYMMDDHHMMSS = 'YYYYMMDD HHMMSS';
my $YYYYMMDDHMS = 'YYYYMMDD HMS';
my $YMDHHMMSS = 'YMD HHMMSS';
my $YMD = 'YMD';
my $HMS = 'HMS';
my $YMDHMS = 'YMD HMS';
my $DEFAULT_DATE_FORMAT = $YYYYMMDD;
my $DEFAULT_TIME_FORMAT = $HHMMSS;
my $DEFAULT_DATETIME_FORMAT = $YYYYMMDDHHMMSS;
1;
#---------------------------------- ä¸è¬
sub _new {
my $class = shift;
my $this = bless {} => $class;
$this->{value} = undef;
if(@_) {
$this->set(@_);
}
$this;
}
sub set {
my $this = shift;
my $value = shift;
if(ref($value)) {
die __PACKAGE__."#set: arg[1] is a reference. [$value] (第1弿°ããªãã¡ã¬ã³ã¹ã§ã)\n";
}
$this->{value} = $value;
$this;
}
sub get {
my $this = shift;
$this->{value};
}
#---------------------------------- setç³»
sub setDate {
my $this = shift;
my $year = shift;
my $mon = shift;
my $day = shift;
if($this->_isExistentDay($year, $mon, $day)) {
$this->{value} = sprintf '%04d-%02d-%02d', $year, $mon, $day;
} else {
$this->{value} = undef;
}
$this;
}
sub setDateTime {
my $this = shift;
my $year = shift;
my $mon = shift;
my $day = shift;
my $hour = shift;
my $min = shift || 0;
my $sec = shift || 0;
if($this->_isExistentDay($year, $mon, $day)
&& $this->_isExistentTime($hour, $min, $sec)) {
$this->{value} = sprintf(
'%04d-%02d-%02d %02d:%02d:%02d',
$year, $mon, $day,
$hour, $min, $sec,
( run in 0.620 second using v1.01-cache-2.11-cpan-5735350b133 )