App-metasyn
view release on metacpan or search on metacpan
script/metasyn view on Meta::CPAN
#=head1 BUGS
#
#Please report any bugs or feature requests on the bugtracker website L<https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-Util-Numeric-PP>
#
#When submitting a bug or request, please include a test-file or a
#patch to an existing test-file that illustrates the bug or desired
#feature.
#
#=head1 SEE ALSO
#
#L<Data::Sah>
#
#L<Scalar::Util::Numeric>
#
#=head1 AUTHOR
#
#perlancar <perlancar@cpan.org>
#
#=head1 COPYRIGHT AND LICENSE
#
#This software is copyright (c) 2016 by perlancar@cpan.org.
#
#This is free software; you can redistribute it and/or modify it under
#the same terms as the Perl 5 programming language system itself.
#
#=cut
### Text/Table/Tiny.pm ###
#package Text::Table::Tiny;
#$Text::Table::Tiny::VERSION = '1.02';
#use 5.010;
#use strict;
#use warnings;
#use utf8;
#use parent 'Exporter';
#use Carp qw/ croak /;
#use Ref::Util 0.202 qw/ is_arrayref /;
#use String::TtyLength 0.02 qw/ tty_width /;
#
#our @EXPORT_OK = qw/ generate_table /;
#
## Legacy package globals, that can be used to customise the look.
## These are only used in the "classic" style.
## I wish I could drop them, but I don't want to break anyone's code.
#our $COLUMN_SEPARATOR = '|';
#our $ROW_SEPARATOR = '-';
#our $CORNER_MARKER = '+';
#our $HEADER_ROW_SEPARATOR = '=';
#our $HEADER_CORNER_MARKER = 'O';
#
#my %arguments = (
# rows => "the rows, including a possible header row, of the table",
# header_row => "if true, indicates that the first row is a header row",
# separate_rows => "if true, a separate rule will be drawn between each row",
# top_and_tail => "if true, miss out top and bottom edges of table",
# align => "either single alignment, or an array per of alignments per col",
# style => "styling of table, one of classic, boxrule, or norule",
# indent => "indent every row of the table a certain number of spaces",
# compact => "narrow columns (no space either side of content)",
#);
#
#my %charsets = (
# classic => { TLC => '+', TT => '+', TRC => '+', HR => '-', VR => '|', FHR => '=', LT => '+', RT => '+', FLT => 'O', FRT => 'O', HC => '+', FHC => 'O', BLC => '+', BT => '+', BRC => '+' },
# boxrule => { TLC => 'âÂÂ', TT => 'â¬', TRC => 'âÂÂ', HR => 'âÂÂ', VR => 'âÂÂ', FHR => 'âÂÂ', LT => 'âÂÂ', RT => 'â¤', FLT => 'âÂÂ', FRT => 'â¡', HC => 'â¼', FHC => 'âª', BLC => 'âÂÂ', BT => 'â´', B...
# norule => { TLC => ' ', TT => ' ', TRC => ' ', HR => ' ', VR => ' ', FHR => ' ', LT => ' ', RT => ' ', FLT => ' ', FRT => ' ', HC => ' ', FHC => ' ', BLC => ' ', BT => ' ', BRC => ' ' },
#);
#
#sub generate_table
#{
# my %param = @_;
#
# foreach my $arg (keys %param) {
# croak "unknown argument '$arg'" if not exists $arguments{$arg};
# }
#
# my $rows = $param{rows} or croak "you must pass the 'rows' argument!";
# my @rows = @$rows;
# my @widths = _calculate_widths($rows);
#
# $param{style} //= 'classic';
#
# $param{indent} //= '';
# $param{indent} = ' ' x $param{indent} if $param{indent} =~ /^[0-9]+$/;
#
# my $style = $param{style};
# croak "unknown style '$style'" if not exists($charsets{ $style });
# my $char = $charsets{$style};
#
# if ($style eq 'classic') {
# $char->{TLC} = $char->{TRC} = $char->{TT} = $char->{LT} = $char->{RT} = $char->{HC} = $char->{BLC} = $char->{BT} = $char->{BRC} = $CORNER_MARKER;
# $char->{HR} = $ROW_SEPARATOR;
# $char->{VR} = $COLUMN_SEPARATOR;
# $char->{FLT} = $char->{FRT} = $char->{FHC} = $HEADER_CORNER_MARKER;
# $char->{FHR} = $HEADER_ROW_SEPARATOR;
# }
#
# my $header;
# my @align;
# if (defined $param{align}) {
# @align = is_arrayref($param{align})
# ? @{ $param{align} }
# : ($param{align}) x int(@widths)
# ;
# }
# else {
# @align = ('l') x int(@widths);
# }
#
# $header = shift @rows if $param{header_row};
#
# my $table = _top_border(\%param, \@widths, $char)
# ._header_row(\%param, $header, \@widths, \@align, $char)
# ._header_rule(\%param, \@widths, $char)
# ._body(\%param, \@rows, \@widths, \@align, $char)
# ._bottom_border(\%param, \@widths, $char);
# chop($table);
#
# return $table;
#}
#
#sub _top_border
#{
# my ($param, $widths, $char) = @_;
#
# return '' if $param->{top_and_tail};
# return _rule_row($param, $widths, $char->{TLC}, $char->{HR}, $char->{TT}, $char->{TRC});
#}
#
#sub _bottom_border
#{
# my ($param, $widths, $char) = @_;
#
# return '' if $param->{top_and_tail};
# return _rule_row($param, $widths, $char->{BLC}, $char->{HR}, $char->{BT}, $char->{BRC});
#}
#
#sub _rule_row
#{
# my ($param, $widths, $le, $hr, $cross, $re) = @_;
# my $pad = $param->{compact} ? '' : $hr;
#
# return $param->{indent}
# .$le
# .join($cross, map { $pad.($hr x $_).$pad } @$widths)
# .$re
# ."\n"
# ;
( run in 1.990 second using v1.01-cache-2.11-cpan-39bf76dae61 )