Date: Wed, 30 Jun 2004 10:51:04 -0700 From: Drew Tomlinson <drew@mykitchentable.net> To: Matthew Seaman <m.seaman@infracaninophile.co.uk> Cc: Steve Bertrand <steveb@eagle.ca> Subject: Re: Perl Syntax -- SOLVED Message-ID: <40E2FD88.9030605@mykitchentable.net> In-Reply-To: <20040630173459.GA7674@happy-idiot-talk.infracaninophile.co.uk> References: <40E2EF7E.3000901@mykitchentable.net> <4769.209.167.16.15.1088615085.squirrel@209.167.16.15> <40E2F5B9.305@mykitchentable.net> <20040630173459.GA7674@happy-idiot-talk.infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On 6/30/2004 10:34 AM Matthew Seaman wrote: >On Wed, Jun 30, 2004 at 10:17:45AM -0700, Drew Tomlinson wrote: > > >>On 6/30/2004 10:04 AM Steve Bertrand wrote: >> >> > > > >>>I know this works: >>> >>>if ($ARGV[0] eq '') { >>> print "Debug Mode\n"; >>>} >>> >>> > > > >>Thanks for your reply. I tried your suggestion and it seems to work but >>I get this output: >> >>Use of uninitialized value in string eq at ./test.pl line 16. >>You must include the file name. >> >> > >Unless you supply at least one argument to the script, $ARGV[0] won't >exist. There's a difference in perl between 'not defined' and an >empty string (or zero for numerical values). Try: > > if ( @ARGV < 1 ) { > usage(); > exit 1; > } > >or > > unless ( defined $ARGV[0] ) { > usage(); > exit 1; > } > > Thank you very much for the explanation. Now I understand why I was getting the error message. I didn't quite understand how to use "usage();" but replaced it with a print statement. It works perfectly! Thanks, Drew -- Visit The Alchemist's Warehouse Magic Tricks, DVDs, Videos, Books, & More! http://www.alchemistswarehouse.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40E2FD88.9030605>