Rob Dixon wrote:
> Bryan Harris wrote:
> > > > I'd like to concatenate two variables--
> > > >
> > > > $newVar = $old1 . $old2;
> > > >
> > > > -- where $old1 might be undefined.  Is there any way to set a
> > > > flag so that this just results in $old2 instead of the compiler
> > > > throwing an error?
> > >
> > > The concatenation operator will work fine with an undefined value.
> > > It's one of the cases where the interpreter will substitute an
> > > empty string instead of throwing an error.
> >
> > That's good to know...
> >
> > It looks like I've over-simplified.  I'm "concatenating" two
> > variables into a list:
> >
> > $newTxt[$row] = [ @{$numTxt[$row]}, "\t" x ($nextCol -
> > $#{$numTxt[$row]}), @temp ];
> >
> > I'd like result to be @temp if $numTxt[$row] is undefined, and that
> > whole mess if it isn't.  It seems like this should be done without
> > an if/then, but I can't see how.
>
> Without any fancy stuff it goes like this:
>
    (My apologies, I posted an incorrect version before)

    if (defined $numTxt[$row]) {
        $newTxt[$row] = [
            @{$numTxt[$row]},
            "\t" x ($nextCol - $#{$numTxt[$row]})
        ];
    } else {
        $newTxt[$row] = [ @temp ];
    }
>
> Note the parentheses around "\t". If you leave these off you get a
> single
> string containing the given number of tab characters instead of an
> array of single tabs.
>
> HTH,
>
> Rob





-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to