I humbly seek wisdom in the form of a better idiom(s). I am regularly find myself needing to review ordered list. I'm not so interested in the nodes but gap from one list item to the next. I have heard this referred to as the fence vs. posts problem. I seek an idiom for

@ = "A", "B", "C"; my @gaps = mesh @l, @l; pop @gaps; shift @gaps;

producing the even numbered list "A","B" ,"B","C"?

Then I work with these using the pairs function from List::Util and List::MoreUtils

In code form:

use strict; use warnings; use feature 'say'; use List::MoreUtils 'mesh'; use List::Util 'pairs', 'pairfirst', 'pairgrep', 'pairmap'; my @trip = ("Chicago", "Saint Looey", "Joplin", "OKC", "Amarillo", " +Gallup", "Flagstaff", "Winona", "Kingman", "Barstow", "San Bernandi +no", "LA" ) ; # I seek, not info on the cities, but info on the # differences in going from one city to city. my @legs = mesh @trip, @trip; pop @legs; shift @legs; # I seek an idiom for the above three lines. map { printf "%15s to %-15s\n", $_->[0],$_->[1] } pairs @legs; # Further # I might have city info as such: # $info{Joplin}{state}=>"MO" # map { if ($info{$_->[0]}{state} ne $info{$_->[1]}{state}) {say "Man +n Act!"} } pairs @legs; # given the above @cities array how might I produce # $info{Joplin}{state}=>"MO" # my @states = ("IL", "MO", "MO", "OK", "TX", "TX", "AZ", "AZ", "AZ", "CA", "CA", "CA" ) ; my %info; # the following does not work!!! map { $info{$_[0]}{"state"}=$_[1] } pairs mesh @trip, @states; say "print the hash:"; say join " ", %info;

Thank you


In reply to Fence vs. Posts by rodinski

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.