Well, I believe everyone will recommend you use a module to do this. I suggest using either getopt::long or getopt::simple.

#!/usr/bin/perl use warnings; use strict; use Getopt::Long; use 5.010; # Just to use say() my ($mean, $sum); my $result = GetOptions ("mean" => \$mean); my @nums = @ARGV; foreach (@nums) { say; # Only calculate the mean if flag exists if ($mean) { $sum += $_; } } say $sum/@nums if $mean; __END__ $ perl mean.pl 1 3 2 1 3 2 $ perl mean.pl -m 1 3 2 1 3 2 2 $ perl mean.pl -mean 1 3 2 1 3 2 2

Notice how Getopt::Long allows the user to type just enough of the switch to trigger it. If there was another switch called meek, the user would have to distinguish which switch they were triggering by typing either -mee (or -meek) or -mea (or -mean).

Updated with example.

And you didn't even know bears could type.


In reply to Re: Usage of flags in scripts by Lawliet
in thread Usage of flags in scripts by jordandanford

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.