As others already said, strict and warnings would have stopped you in your tracks long ago. In any case, how about this (taking some liberties with your variable names and assuming your subs are defined already):

my $member_call = 'Captain'; # or something my @allowed_ranks = qw/Recruit General Captain Civilian Airman/; grep($_ eq $member_call, @allowed_ranks) ? Welcome() : NotWelcome(); # + using grep+ternary operator

Update: further explanation to address FamousLongAgo's concerns. qw takes a list of strings and allows them to be specified without commas or quotation marks delimiting each. It's nice to use whenever you've got more than a few entries. grep is a function that iterates through a list, setting the global variable $_ to the current element of the list. It evaluates either an expression (as here) or a block, and returns a list of elements from the original list for which the expression was true. Now the ternary operator is short hand for "if x, then y, else z" where "?" means "if" and ":" means "else". Thus, we test to see if grep returned anything, and if so, call Welcome. Otherwise, call NotWelcome.

Hope that helps, fever


In reply to Re: Looking Through Arrays? by djantzen
in thread Looking Through Arrays? by ACJavascript

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.