The 1st pass through map allows "user" and "smtp". ("fetch" would be skipped.)
The 2nd pass through map allows "user" and "smtp". ("forward" would be skipped.)
The 3rd pass through map allows "smtp". ("user" is skipped.)
The 4th pass through map allows "user". ("smtp" is skipped.)

One solution (Set arithmetic using a hash):

sub create_list { my %dbs = map { $_ => 1 } qw/fetch forward user smtp/; delete @dbs{@_}; return keys %dbs; }

Another solution (Set arithmetic using a superposition):

use Quantum::Superpositions; sub create_list { my $dbs = any qw/fetch forward user smtp/; my $skip = all @_; return eigenstates( $dbs ne $skip ); }

Another solution (Set arithmetic using sets [seemed appropriate at the time]):

use Set::Scalar qw( ); sub create_list { my $dbs = Set::Scalar->new( qw/fetch forward user smtp/ ); my $skip = Set::Scalar->new( @_ ); return ($dbs - $skip)->members(); }

Update: Added second and third snippet.


In reply to Re: Difference Quantity of two Arrays by ikegami
in thread Difference Quantity of two Arrays by ocs

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.