Estoy construyendo un conjunto de hashes de matricesAñadiendo valor a la matriz si la condición se satisfizo
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
¿Hay una manera de agregar sólo el segundo resumen interna sólo si una condición se satisfizo? Algo como esto:
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'} if 1==1,
]
},
);
me trató de reescribir mi código utilizando empuje:
my @innerarray =();
push @innerarray, {label => 'first inner hash'};
push @innerarray, {label => 'second inner hash'} if 1==1;
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => \@innerarray
},
);
Pero se hace muy ilegible, ya que tengo que definir previamente todas matriz interna antes de usarlos, que en algunos casos hay varias 100 líneas de código por encima del uso.
¿Hay alguna forma de añadir la condición si directamente donde insertar el elemento de la matriz?
Gracias, funciona exactamente como yo lo necesitan. – Pit
"operador ternario" no es su nombre, es sólo una descripción de cuántos operandos que se necesita. El operador condicional no es el único operador ternario de Perl. (por ejemplo 'dbmopen') fijo. – ikegami