On Mon, Sep 30, 2002 at 03:50:00PM +0800, [EMAIL PROTECTED] wrote: > I found my mistake: I misread the line number in the error message. DOH!!! > The complaints were related to the block that prints individualized error > messages:
Ok, I'm glad you solved your problem. > <CODE> > unless (defined $directory && defined $comment && defined $max_rows && > defined $max_cols && defined $lg_dim && $lg_dim =~ m/[1-9][0-9]?/ && > (!defined $saturation || abs($saturation) < 100)) { > > print "Specify a directory to scan (e.g., --directory /etc)\n" unless > $directory; > > print "Provide a comment for the photos (e.g., --comment foobar)\n" > unless $comment; > > print "Specify the number of rows and columns in the indexes (e.g., > --cols 5 --rows 5)\n" unless ($max_rows && $max_cols); > > print "Specify a number between -99 and 99 for the image saturation value > (e.g., --saturation -50)\n" unless (abs($saturation) < 100); > > print "Specify a number between 1 and 99 for the images\' final size as a > percentage of the beginning size (e.g., --largedim 75)\n" unless > ($lg_dim > 0 && $lg_dim < 100); > > exit; > } > </CODE> While this works, typically the way I do it is something along the lines of: usage("Specify a directory to scan ...\n") unless defined $directory; usage("Provide a comment for the ...\n") unless defined $comment; and so on, where usage() is a subroutine that will print out the message specified, as well as some basic usage information. The point being, you don't have to test the variables multiple times. There is a disadvantage in that the errors will not all be printed out if there are multiple problems. I also usually stick my options into a hash, such as %opts, too, but that's somewhat tangential. Michael -- Administrator www.shoebox.net Programmer, System Administrator www.gallanttech.com -- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]