यदि कोई कमांड लाइन तर्क नहीं दिया गया है, तो नीचे दिए गए कार्य सही तरीके से काम करते प्रतीत होते हैं, लेकिन जब वे मुझे मिलते हैं तो तर्कों की संख्या होती है, तर्क स्वयं नहीं। ऐसा लगता है कि @ARGV
||
द्वारा स्केलर को मजबूर किया जा रहा है। मैंने इसी तरह के परिणामों के साथ or
और //
का उपयोग करने का भी प्रयास किया है। यहां उपयोग करने के लिए सही ऑपरेटर क्या है?यदि कोई कमांड लाइन तर्क नहीं दिया जाता है तो मैं डिफ़ॉल्ट सरणी का उपयोग कैसे करूं?
say for @ARGV || qw/one two three/;
'||' के स्थान पर उपयोग करने के लिए कोई एकल ऑपरेटर नहीं है जो वांछित काम करेगा। निकटतम मैं सोच सकता हूं '(@ARGV? @ARGV: qw (एक दो)) ' – zdim
[संबंधित प्रश्न] (https://stackoverflow.com/q/16883923/133939) – Zaid