Acme-Tategaki

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

# =========================================================================
# THIS FILE IS AUTOMATICALLY GENERATED BY MINILLA.
# DO NOT EDIT DIRECTLY.
# =========================================================================

use 5.008_001;

use strict;
use warnings;
use utf8;

use Module::Build;
use File::Basename;
use File::Spec;
use CPAN::Meta;
use CPAN::Meta::Prereqs;

my %args = (
    license              => 'perl',
    dynamic_config       => 0,

README.md  view on Meta::CPAN

# NAME

Acme::Tategaki - This Module makes a text vertically.

# SYNOPSIS

    $ perl -MAcme::Tategaki -MEncode -e 'print encode_utf8 tategaki(decode_utf8 "お前は、すでに、死んでいる。"), "\n";'
    死 す お
    ん で 前
    で に は
    い ︑ ︑
    る    
    ︒    

    $ perl -MAcme::Tategaki -MEncode -e 'print encode_utf8 tategaki_one_line(decode_utf8 "お前は、すでに、死んでいる。"), "\n";'
    お
    前
    は
    ︑
    す
    で
    に
    ︑
    æ­»
    ã‚“

bin/tategaki  view on Meta::CPAN

#!perl
use strict;
use warnings;
use 5.008001;
use utf8;

use Acme::Tategaki;
use Encode::Locale;

binmode STDOUT => ':encoding(console_out)';
Encode::Locale::decode_argv;

unless (scalar @ARGV) {
    print "Usage: \$ tategaki お前は、すでに、死んでいる。\n";
    exit 1;

bin/tategaki_one_line  view on Meta::CPAN

#!perl
use strict;
use warnings;
use 5.008001;
use utf8;

use Acme::Tategaki;
use Encode::Locale;

binmode STDOUT => ':encoding(console_out)';
Encode::Locale::decode_argv;

unless (scalar @ARGV) {
    print "Usage: \$ tategaki_one_line お前は、すでに、死んでいる。\n";
    exit 1;

lib/Acme/Tategaki.pm  view on Meta::CPAN

package Acme::Tategaki;
use 5.008005;
use strict;
use warnings;
use utf8;
use Array::Transpose::Ragged qw/transpose_ragged/;
use Encode qw/encode_utf8 decode_utf8/;
use Data::Dump qw/dump/;

use parent 'Exporter';
our @EXPORT = qw( tategaki tategaki_one_line);

our $VERSION = "0.12";

my @punc = qw(、 。 , .);

sub tategaki_one_line {

lib/Acme/Tategaki.pm  view on Meta::CPAN

        $_ =~ s/>/∨ /g;
        $_ =~ s/《/∧ /g;
        $_ =~ s/》/∨ /g;
    }
    # print dump @text;

    return join "\n", @text;
}

if ( __FILE__ eq $0 ) {
    print encode_utf8(tategaki decode_utf8 'お前は、すでに、死んでいる。'), "\n";
    print encode_utf8(tategaki_one_line decode_utf8 'お前は、すでに、死んでいる。');
}

1;

__END__

=encoding utf-8

=head1 NAME

Acme::Tategaki - This Module makes a text vertically.

=head1 SYNOPSIS

    $ perl -MAcme::Tategaki -MEncode -e 'print encode_utf8 tategaki(decode_utf8 "お前は、すでに、死んでいる。"), "\n";'
    死 す お
    ん で 前
    で に は
    い ︑ ︑
    る    
    ︒    

    $ perl -MAcme::Tategaki -MEncode -e 'print encode_utf8 tategaki_one_line(decode_utf8 "お前は、すでに、死んでいる。"), "\n";'
    お
    前
    は
    ︑
    す
    で
    に
    ︑
    æ­»
    ã‚“

t/01_tategaki.t  view on Meta::CPAN

use strict;
use Test::Base::Less;
use Acme::Tategaki;
use Encode;
use utf8;

filters {
    input => [ qw/chomp/ ],
    expected => [ qw/chomp/ ],
};

for my $block (blocks) {
    is( tategaki(map {decode_utf8 $_} $block->input), decode_utf8 $block->expected );
}

done_testing;

__DATA__
===
--- input
ほげ、ふが。ほげ→
--- expected
ほ ふ ほ

t/02_tategaki_one_line.t  view on Meta::CPAN

use strict;
use Test::Base::Less;
use Acme::Tategaki;
use Encode;
use utf8;

filters {
    input => [ qw/chomp/ ],
    expected => [ qw/chomp/ ],
};

for my $block (blocks) {
    is( tategaki_one_line(map {decode_utf8 $_} $block->input), decode_utf8 $block->expected );
}

done_testing;

__DATA__
===
--- input
ほげ、ふが。ほげ→
--- expected
ほ



( run in 1.477 second using v1.01-cache-2.11-cpan-49f99fa48dc )