Thanks, Chris, Bart, and Paul. Got it solved:

        if ( scalar @ARGV > 0 )
        {       @testList = @ARGV;
        }
        if ( $level =~ m/^1.*/ )
        {       push @testList, @originalTopPagePlusFlack;
        }
        elsif ( $level =~ m/^2.*/ )
        {       push @testList, @anotherTopPagePlusFlack;
        }
        elsif ( scalar @ARGV == 0 )     # still feels funny
        {       @testList = @basicTopPage;
        }
        elsif ( $level =~ m/^0.*/ )     # 0
        {       push @testList, @basicTopPage;
        }

Here's what it originally looked like (and I should have put it in the
original post).

        if ( scalar @ARGV > 0 )
        {       @testList = @ARGV;
        }
        if ( $level == 1 )
        {       push @testList, @originalTopPagePlusFlack;
        }
        elsif ( $level == 2 )
        {       push @testList, @anotherTopPagePlusFlack;
        }
        elsif ( scalar @ARGV == 0 )
        {       @testList = @basicTopPage;
        }
        elsif ( $level != '' )  # 0 (or anything not 2)
        {       push @testList, @basicTopPage;
        }


The thing that was messing me up was changing the first two tests and
failing to change the last one.

Maybe I should go back to teaching English for a living.

I wrote

> I have some code that looks like this:
> 
>       if ( int( $level ) == 1 )
>       {       push @testList, @originalTopPagePlusFlack;
>       }
> 
> When it runs with an empty string in $level, (using strict) I get this
> warning:
> 
> ----------------
> Argument "" isn't numeric in int at autohits.pl line 352 (#1)
>     (W numeric) The indicated string was fed as an argument to an operator
>     that expected a numeric value instead.  If you're fortunate the message
>     will identify which operator was so unfortunate.
> 
> Argument "" isn't numeric in numeric ne (!=) at autohits.pl line 352 (#1)
> ----------------
> 
> I've tried using index() and an RE instead of the numeric compare, but
> those give me nearly the same warning. (??) So I am wondering how to get
> at a value that may be either numeric or an empty string.

-- 
Joel Rees <[EMAIL PROTECTED]>

Reply via email to