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('', ) || 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 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.