in reply to conditions not working

When you say "doesn't work" are you referring to the warning "Useless use of a constant in void context in line xxx"? Or did you neglect to "use warnings;" and thus are unaware of the fact that your second example isn't doing anything with the results of the trinary evaluation, nor with the results of the comma operator?

You're evaluating a conditional (trinary operator) but doing nothing with it, in the second example. It's useless to use it in void context. Also, your use of a "\n" after the comma operator is a useless use in this context.

Perhaps you mean something like:

$mac = ($mac eq $old ? "SAME" : "DIFF")."\n";

But that really is only a guess at your intentions. Perl just chose not to play the guessing game. ;)

Always use strict and use warnings to catch common pitfalls.

Dave

"If I had my life to do over again, I'd be a plumber." -- Albert Einstein