hola world.

a wave of nostalgia overcame me when i read the posting re: punnet squares, & i offer the following wee map-fest in penance for the sundry wrongs & misdemeanors in the classroom of biology teacher mr robinson...

it does the trick in a fairly simple way, made more complicated by the presence of pesky column and row titles.

if i wanted to do something with the combinations generated, like count frequencies, i'd get rid of the unshift's, which are only there to deal with the row and column titles.

the venerable getopt::long module is used for arg capture.

# i am not strict use Getopt::Long; GetOptions("f=s@" => \@dadAlls, "m=s@" => \@mumAlls, "help" => sub { print "psquare: --f (male allele) --m (female allele)\n"; exit; }); unshift @mumAlls, ""; # for titles. @psquare = map { my $current = $_; [ map { sprintf("%-10s",$current . +$_) } @mumAlls ] } @dadAlls; unshift @psquare, [map { sprintf("%-10s", $_) } @mumAlls]; map { print join "", @$_; print "\n"; } @psquare;


hope that helps.

In reply to Re: Punnett squares and perl. by wufnik
in thread Punnett squares and perl. by DigitalKitty

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.