perl qstn...
Gary Kline
kline at thought.org
Sun Apr 4 09:01:58 UTC 2010
On Sun, 2010-04-04 at 00:07 -0400, Greg Larkin wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Gary Kline wrote:
> > guys,
> >
> > i'm finally trying to get my private scripts and binaries in
> > ~/bin in order. several of my perl scripts were meant to be
> > throwaway ... but a few seem to be more useful and i would have
> > to have informational or usage{} type messages.
> >
> > if a .pl script has to have at least one arg, is there an easy
> > way to do that? can i have a perl fn called usage() that would
> > be fed various strings?
> >
> > tia,
> >
> > gary
> >
> >
> >
>
> Hi Gary,
>
> Check out this Perl module that builds on Getopt::Long, but also
> includes support for echoing usage messages for each option:
> http://search.cpan.org/~rjbs/Getopt-Long-Descriptive-0.085/lib/Getopt/Long/Descriptive.pm
>
> Hope that helps,
> Greg
thanks for your url as well and the others to posted. but it seems like
overkill since i dont need any explicit option or argument. i just need
the script to tell me whether i have an arg or not. following is
something i've kept in one of my junk drawers from when i was learning
to write bourne sscripts. it uses the "$[token]" syntax that determines
whether there are Any args on the cmdline. if not, the script prints a
message and exits.
#!/bin/sh
if [ $# -eq 0 ]
then
echo "No args; need filename."
else
echo "$1"
fi
After a couple hours experimentation, the following does the same for my
perl scripts:
#!/usr/bin/perl
$argc = @ARGV;
if (! $argc ) {
printf("No args; need filename.\n");
}
else {
printf("%s\n", @ARGV);
}
gary
More information about the freebsd-questions
mailing list