#!/usr/local/bin/perl -w use strict; use Data::Dumper; { my $a = 0; my $b = 1; my $c = 2; # # $a is 0, so the second term will be evaluated # $b is meaningless, and just used as a place holder # $c is 2, so 3 should be the answer. # my $right = $a ? $b : ($c ? 3 : 4); my $wrong = $a ? $b : {$c ? 3 : 4}; print "Right=", $right, "\n"; print "Wrong=", $wrong, "\n"; print Dumper ([\$right]); print Dumper ([\$wrong]); }