On Sunday, July 7, 2002, at 05:47 AM, David T-G wrote:
> Hi, all -- > > It must still be early, because I just don't get this. > > Given the snippet > > sub setpath(my $shelltype) > { > my ($setenv,$equals) ; > # $_[0] =~ /tcsh/ && $setenv = "setenv" ; > # $_[0] =~ /tcsh/ && { $setenv = "setenv" ; } ; > # $_[0] =~ /tcsh/ && { $setenv = 'setenv' ; } ; > # if $_[0] =~ /tcsh/ > # { > # $setenv = "setenv" ; > # $equals = " " ; > # } > $setenv = "setenv" if $_[0] =~ /tcsh/ ; > $equals = " " if $_[0] =~ /tcsh/ ; > $setenv = "" if $_[0] =~ /tcsh/ ; > $equals = "=" if $_[0] =~ /bash/ ; > > can you please tell me why the various commented formats don't work? I'm > going to need to set multiple things, so the last commented version is > best, but even more I just plain don't like "action if test" format :-) > you need to use 'and' instead of '&&' because of precedence. using 'w' option would have showed problem: Can't modify logical and (&&) in scalar assignment at ./tst line 5, near ""yes\n" ;" (in my own test) also, the 'if' statement needs parens around the condition. pob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]