Acme-Honkidasu
view release on metacpan or search on metacpan
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
binmode STDOUT, ":utf8";
use Acme::Honkidasu;
$Acme::Honkidasu::DETERMINE = sub {
my $time = shift;
my $list = shift;
my $idx = $time->hour % scalar(@$list);
chomp( my $msg = $list->[$idx] );
return $msg;
};
$Acme::Honkidasu::LIST_HONKIDASU = [<DATA>];
say localtime->honkidasu;
say localtime->strftime('%(');
__DATA__
æ°ããï¼æ¥ãããã¯ãã¾ãã仿¥ããæ¬æ°åºãã
ã¾ã ã¾ã æéã¯ãã£ã·ããããç¦ãã¯ç¦ç©ãï¼æããæ¬æ°åºãã
YouTubeçºãã¦ããæéã®ã¹ãã¼ããããããªãããã¶ãªãã£ãã3æããæ¬æ°åºããã
é ã®ä¸ã«ããæ°ãã©ãã©ãæ¹§ãã¦ãããã§ãã¾ã æ©ããã¯ããæ°æã¡ãæãã¦ãï¼æããæ¬æ°åºãã
ãã®æéã«èµ·ãã¦ãèªåãå¿é
ã ãä½èª¿ç®¡çãå¿
è¦ãã²ã¨å¼å¸ããã¦ã5æããæ¬æ°åºãã
ãã£ã¨ã¿ããªã¯ã¾ã å¯ã¦ããæ
ã¦ã¦ã¯ãããªããï¼æããæ¬æ°åºãã
ç ããã®ã§ã¯ãªããåãåºãã®ãé¢åããããããããã大åã7æããæ¬æ°åºãã
å¤ï¼æé ã®10åéãä»ãã¤ããæéã«ãã£ã¦ãã¦ã»ãããããããªãããï¼æããæ¬æ°åºãã
ã¼ã¼ã£ã¨ãã¦ãããããªãã仿¥ã®ãã¨ãèãã¦ããé ãæ´çãã¦ï¼æããæ¬æ°åºãã
æããé£ã°ãéãã¯ãããªãã大ä¸å¤«ãã¡ããã¨è¨ç®ãã¦ãã10æããæ¬æ°åºãã
lib/Acme/Honkidasu.pm view on Meta::CPAN
binmode STDOUT, ":utf8";
use Acme::Honkidasu;
$Acme::Honkidasu::DETERMINE = sub {
my $time = shift;
my $list = shift;
my $idx = $time->hour % scalar(@$list);
chomp( my $msg = $list->[$idx] );
return $msg;
};
$Acme::Honkidasu::LIST_HONKIDASU = [<DATA>];
say localtime->honkidasu;
say localtime->strftime('%(');
__DATA__
æ°ããï¼æ¥ãããã¯ãã¾ãã仿¥ããæ¬æ°åºãã
ã¾ã ã¾ã æéã¯ãã£ã·ããããç¦ãã¯ç¦ç©ãï¼æããæ¬æ°åºãã
YouTubeçºãã¦ããæéã®ã¹ãã¼ããããããªãããã¶ãªãã£ãã3æããæ¬æ°åºããã
é ã®ä¸ã«ããæ°ãã©ãã©ãæ¹§ãã¦ãããã§ãã¾ã æ©ããã¯ããæ°æã¡ãæãã¦ãï¼æããæ¬æ°åºãã
ãã®æéã«èµ·ãã¦ãèªåãå¿é
ã ãä½èª¿ç®¡çãå¿
è¦ãã²ã¨å¼å¸ããã¦ã5æããæ¬æ°åºãã
ãã£ã¨ã¿ããªã¯ã¾ã å¯ã¦ããæ
ã¦ã¦ã¯ãããªããï¼æããæ¬æ°åºãã
ç ããã®ã§ã¯ãªããåãåºãã®ãé¢åããããããããã大åã7æããæ¬æ°åºãã
å¤ï¼æé ã®10åéãä»ãã¤ããæéã«ãã£ã¦ãã¦ã»ãããããããªãããï¼æããæ¬æ°åºãã
ã¼ã¼ã£ã¨ãã¦ãããããªãã仿¥ã®ãã¨ãèãã¦ããé ãæ´çãã¦ï¼æããæ¬æ°åºãã
æããé£ã°ãéãã¯ãããªãã大ä¸å¤«ãã¡ããã¨è¨ç®ãã¦ãã10æããæ¬æ°åºãã
t/02_list.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
binmode Test::More->builder->$_, ":utf8" for qw/output failure_output todo_output/;
use Test::More tests => 36;
use Test::More;
use Acme::Honkidasu;
my @list = <DATA>;
$Acme::Honkidasu::LIST_HONKIDASU = \@list;
for my $i (1..12) {
my $t = Time::Piece->strptime(sprintf('%02d', $i), '%m');
chomp( my $msg = $list[ ( $i % scalar(@list) ) - 1 ] );
cmp_ok $t->honkidasu, 'eq', $msg;
cmp_ok $t->strftime('%('), 'eq', $msg;
}
$Acme::Honkidasu::LIST_HONKIDASU = [];
for my $i (1..12) {
my $t = Time::Piece->strptime(sprintf('%02d', $i), '%m');
chomp( my $msg = $list[ ( $i % scalar(@list) ) - 1 ] );
ok ! $t->honkidasu;
}
done_testing;
__DATA__
ã»ã
ãµã
ã´ã
ãµã¼
( run in 0.960 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )