Well, I don't know about "the best method," but here's one method:

use Modern::Perl; my @same = (8) x 8; # an array of eight 8s my @notSame = qw/ 10 10 10 12 10 10 /; say "The array's elements are" . ( sameArrayElements(@same) ? '' : ' not' ) . ' the same.'; sub sameArrayElements { my %hash = map { $_ => 1 } @_; keys %hash == 1 ? 1 : 0; }

If you send the subroutine sameArrayElements an array, it'll return 1 (true) if the array's elements are identical, and 0 (false) otherwise (even if an empty array is sent). As shown above, the output is:

The array's elements are the same.

Try sameArrayElements with @notSame.

The subroutine uses map to iterate through all elements of the sent array, populating %hash with key/value pairs (the $_ => 1 notation). If the array elements are identical, there should be only one key--and the last line in the subroutine tests for that.

Thus, if you pushed each numLines from a dir read onto an array, and then sent that array to sameArrayElements, it'll tell you whether all files in that dir have the same number of lines or not. (Be sure the array's empty, e.g, by using my @array;, before pushing values onto it.)


In reply to Re^9: Comparing Values PER Sub-folder by Kenosis
in thread Comparing Values PER Sub-folder by omegaweaponZ

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.