Index
The following methods will be exported by the :all tag: END push @d, ""$_"" for sort keys %methodParms; # Alphabetic listing of methods push @d, "\n"; writeFile("doc.data", join "\n", @d); # Write documentation file writeFile("methods.data", join "\n", sort keys %methods); # Write methods file }
#------------------------------------------------------------------------------- # Examples #-------------------------------------------------------------------------------
if (0 and !caller) {say STDERR "\n","\nsay STDERR formatTable(",dump($_), ");\n# ", formatTable($_) =~ s/\n/\n# /gr for [[qw(. aa bb cc)], [qw(1 A B C)], [qw(2 AA BB CC)], [qw(3 AAA BBB CCC)], [qw(4 1 22 333)]], [{aa=>'A', bb=>'B', cc=>'C'}, {aa=>'AA', bb=>'BB', cc=>'CC'}, {aa=>'AAA', bb=>'BBB', cc=>'CCC'}, {aa=>'1', bb=>'22', cc=>'333'}], {''=>[qw(aa bb cc)], 1=>[qw(A B C)], 22=>[qw(AA BB CC)], 333=>[qw(AAA BBB CCC)], 4444=>[qw(1 22 333)]}, {a=>{aa=>'A', bb=>'B', cc=>'C'}, aa=>{aa=>'AA', bb=>'BB', cc=>'CC'}, aaa=>{aa=>'AAA', bb=>'BBB', cc=>'CCC'}, aaaa=>{aa=>'1', bb=>'22', cc=>'333'}}, [qw(a bb ccc 4444)], {aa=>'A', bb=>'B', cc=>'C'}; }
#------------------------------------------------------------------------------- # Test #-------------------------------------------------------------------------------
sub test {eval join('', <Data::Table::Text::DATA>) || die $@ }
test unless caller();
# Documentation #extractDocumentation unless caller;
#------------------------------------------------------------------------------- # Export #-------------------------------------------------------------------------------
require Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
@ISA = qw(Exporter); @EXPORT = qw(formatTable); @EXPORT_OK = qw(checkKeys containingPowerOfTwo dateStamp dateTimeStamp extractDocumentation fileList fileSize formatTableBasic genLValueArrayMethods genLValueHashMethods genLValueScalarMethods genLValueScalarMethodsWithDefaultValues indentString loadArrayArrayFromLines loadArrayFromLines loadHashArrayFromLines loadHashFromLines makePath nws powerOfTwo readBinaryFile readFile saveToS3 timeStamp trim writeBinaryFile writeFile); %EXPORT_TAGS = (all=>[@EXPORT, @EXPORT_OK]);
1;
Name
Data::Table::Text - Write data in tabular text format
Synopsis
use Data::Table::Text;
say STDERR formatTable([
[".", "aa", "bb", "cc"],
[1, "A", "B", "C"],
[2, "AA", "BB", "CC"],
[3, "AAA", "BBB", "CCC"],
[4, 1, 22, 333]]);
# . aa bb cc
# 1 1 A B C
# 2 2 AA BB CC
# 3 3 AAA BBB CCC
# 4 4 1 22 333
say STDERR formatTable([
{ aa => "A", bb => "B", cc => "C" },
{ aa => "AA", bb => "BB", cc => "CC" },
{ aa => "AAA", bb => "BBB", cc => "CCC" },
{ aa => 1, bb => 22, cc => 333 }]);
# aa bb cc
# 1 A B C
# 2 AA BB CC
# 3 AAA BBB CCC
# 4 1 22 333
say STDERR formatTable({
"" => ["aa", "bb", "cc"],
"1" => ["A", "B", "C"],
"22" => ["AA", "BB", "CC"],
"333" => ["AAA", "BBB", "CCC"],
"4444" => [1, 22, 333]});
# aa bb cc
# 1 A B C
# 22 AA BB CC
# 333 AAA BBB CCC
# 4444 1 22 333
say STDERR formatTable({
a => { aa => "A", bb => "B", cc => "C" },
aa => { aa => "AA", bb => "BB", cc => "CC" },
aaa => { aa => "AAA", bb => "BBB", cc => "CCC" },
aaaa => { aa => 1, bb => 22, cc => 333 }});
# aa bb cc
# a A B C
# aa AA BB CC
# aaa AAA BBB CCC
# aaaa 1 22 333
say STDERR formatTable(["a", "bb", "ccc", 4444]);
# 0 a
# 1 bb
# 2 ccc
# 3 4444
say STDERR formatTable({ aa => "A", bb => "B", cc => "C" });
# aa A
# bb B
# cc C
Description
Prints an array or a hash or an array of arrays or an array of hashes or a
hash of arrays or a hash of hashes in a tabular format that is easier to read
than a raw data dump.
Installation
Standard Module::Build process for building and installing modules:
perl Build.PL
./Build
./Build test
./Build install
Author
philiprbrenan@gmail.com
http://www.appaapps.com
Copyright
Copyright (c) 2016 Philip R Brenan.
This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.