in reply to Short form (ternary) if else
The ternary operator exists in many programming languages and is often a stumbling block for many who encounter it for the first time. I'm sure I scratched my head over it too. Here's an example of usage:
use strict; use warnings; my %hash = ( abc => 123 ); my $abc = exists $hash{abc} ? $hash{abc} : 0; my $xyz = exists $hash{xyz} ? $hash{xyz} : 0; print "ABC = $abc : XYZ = $xyz\n";
This outputs:
ABC = 123 : XYZ = 0
Another thing you need to know is that variables declared with my are lexical. With your example code, this means the first $vxdgs only exists in the if block and the second $vxdgs only exists in the else block; furthermore, they are two completely separate variables with their own values.
From your question, I believe the code you want is:
my $vxdg = exists $vxdgs{$node}{$disk} ? $vxdgs{$node}{$disk} : "";
-- Ken
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Short form (ternary) if else
by Bod (Parson) on Sep 09, 2023 at 22:27 UTC | |
Re^2: Short form (ternary) if else
by gg48gg (Sexton) on Feb 08, 2012 at 20:38 UTC | |
by kcott (Archbishop) on Feb 08, 2012 at 21:10 UTC | |
by Marshall (Canon) on Feb 08, 2012 at 22:26 UTC | |
by gg48gg (Sexton) on Feb 08, 2012 at 22:35 UTC | |
by AnomalousMonk (Archbishop) on Feb 09, 2012 at 03:07 UTC | |
by kcott (Archbishop) on Feb 08, 2012 at 23:06 UTC | |
by Riales (Hermit) on Feb 08, 2012 at 23:20 UTC | |
| |
by Marshall (Canon) on Feb 09, 2012 at 00:06 UTC | |
by gg48gg (Sexton) on Feb 08, 2012 at 22:10 UTC | |
by Riales (Hermit) on Feb 08, 2012 at 22:22 UTC |