$expression ? $var = "foo" : $var = "bar"; #### $ perl -MO=Deparse,-p -e '$expression ? $var = "foo" : $var = "bar";' (($expression ? ($var = 'foo') : $var) = 'bar'); -e syntax OK #### $ perl -MO=Deparse,-p -e '$expression ? ($var = "foo") : ($var = "bar");' ($expression ? ($var = 'foo') : ($var = 'bar')); -e syntax OK #### #!/usr/bin/env perl -l use strict; use warnings; for my $expression (0, 1) { my $var = ''; $expression ? ($var = 'foo') : ($var = 'bar'); print "\$expression = '$expression'; \$var = '$var'"; } #### $expression = '0'; $var = 'bar' $expression = '1'; $var = 'foo'