fullfilled है सरणी के लिए मूल्य जोड़ना मैं सरणियों के हैश की एक सरणी का निर्माण कर रहा हूँअगर हालत
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
वहाँ एक रास्ता केवल दूसरे भीतरी हैश जोड़ने के लिए केवल अगर एक शर्त fullfilled है? कुछ इस तरह:
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'} if 1==1,
]
},
);
मैं धक्का उपयोग करते हुए मेरे कोड को फिर से लिखने की कोशिश की:
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
},
);
लेकिन यह बहुत अस्पष्ट हो जाता है, के रूप में मैं उन्हें प्रयोग करने से पहले सभी आंतरिक सरणी पूर्वपरिभाषित करने, जो कुछ मामलों में उपयोग के ऊपर कोड की कई 100 लाइनें हैं।
क्या if-condition को सीधे जोड़ने के लिए कोई तरीका है जहां मैं सरणी तत्व डालता हूं?
धन्यवाद एक ही समाधान है, वास्तव में यह कैसे काम करता है मैं इसकी आवश्यकता है। – Pit
"टर्नरी ऑपरेटर" इसका नाम नहीं है, यह सिर्फ एक विवरण है कि यह कितने ऑपरेंड लेता है। सशर्त ऑपरेटर पर्ल का एकमात्र टर्नरी ऑपरेटर नहीं है। (उदाहरण के लिए 'डीबीएमओपेन') फिक्स्ड। – ikegami