Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
While your second two methods for creating tables are neat, i rarely need such tools. Most of my work involves getting results from a database ... the rows and columns are already determined. The only reason why i added the AoA feature was because it was too trivial to not add it. Besides, creating the table by supplying an array and some number (say, 4) is a piece of cake. ;) .o0(maybe i should add this to the CookBook)
use strict; use warnings; use DBIx::XHTML_Table; my @avengers = ( 'Iron Man', 'Black Panther', 'Thor', 'Black Widow', 'Mockingbird', 'Captain America', 'Quicksilver', 'Vision', 'Falcon', 'Scarlet Witch', 'Wasp', 'Hawkeye', 'Hercules', 'Yellowjacket', ); my $n = 4; my $rows = [map[@avengers[$_..$_+$n-1]], range(0,$#avengers,$n)]; my $headers = [map "row$_",1..$n]; print DBIx::XHTML_Table->new($rows,$headers)->output; # if Python can do this, so can Perl! sub range {grep !($_%$_[2]-$_[0]),$_[0]..$_[1]}
However, your module has this encapsulated already, so i just re-invented a wheel. ;) And i will admit that your module does one important thing that mine does not - allow the user to place the headers in a column, and not just in the top row. This is something that i plan to fix this summer. I'll use the printer terms 'landscape' and 'portrait' to describe the two different styles.

As for why my module turned up so low at search.cpan.org, well i guess it's because my module is named XHTML, not merely HTML. Shame that it doesn't get a higher hit rating ... but if you search for xhtml table, it is the first hit. Kobe, however, lists my module quite a bit higher ... html table. Thanks Randy. :)

Honestly, i see no reason why your module should not be on CPAN. I like the autogeneration feature ... maybe the name HTML::Table::Generate would be a good name for it. There really are a lot of HTML Table modules on CPAN ... i guess it's a popular problem to solve. ;)

UPDATE: changed 3 arg to range from $n - 1 to $n. My original was producing duplicate values. (chalk it up to late-nite posting) Thanks jryan. :)

UPDATE2: changed internals of range. It did not work "if the starting point is not a multiple of the increment" (quote from merlyn). Whereas the fuction works just fine for this example, it won't for other applications. The fix? Simply subtract the starting point from the result of the modulus. Better yet, just use the code i posted at emulate Python's range function.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

In reply to (jeffa) 5Re: RFC: CGI::Tables by jeffa
in thread RFC: CGI::Tables by elusion

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (None)
    As of 2024-04-19 00:04 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found