Sto costruendo un array di hash di arrayAccrescimento del valore aggiunto array se condizione è esaudito
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
C'è un modo per aggiungere solo la seconda hash interno solo se una condizione viene esaudito? Qualcosa di simile a questo:
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'} if 1==1,
]
},
);
ho cercato di riscrivere il mio codice utilizzando push:
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
},
);
ma diventa molto illeggibili, come ho di predefinire tutti gamma interna prima di utilizzarli, che in alcuni casi sono diverse 100 linee di codice sopra l'utilizzo.
C'è un modo per aggiungere direttamente la condizione if dove inserisco l'elemento-array?
Grazie, funziona esattamente come mi lo ha bisogno – Pit
"Operatore ternario" non è il suo nome, è solo una descrizione di quanti operandi richiede. L'operatore condizionale non è l'unico operatore ternario di Perl (es. 'dbmopen') Risolto. – ikegami