मैं ऐसे प्रोग्राम में काम कर रहा हूं जहां उपयोगकर्ता -o file
विकल्प पास कर सकता है, और आउटपुट को तब उस फ़ाइल पर निर्देशित किया जाना चाहिए। अन्यथा, यह stdout पर जाना चाहिए।ओपन फाइलहेडल या असाइन करें stdout
विकल्प पुनर्प्राप्त करने के लिए मैं मॉड्यूल getopt का उपयोग कर रहा हूँ, और यह समस्या नहीं है। समस्या यह है कि मैं उस फ़ाइल या के साथ फ़ाइल हैंडल बनाना चाहता हूं, यदि विकल्प सेट नहीं किया गया था तो उसे stdout असाइन करें।
if ($opt) {
open OUTPUT, ">", $file;
} else {
open OUTPUT, # ???
}
है ऐसा इसलिए है क्योंकि इस तरह से, बाद में मेरे कोड में मैं सिर्फ कर सकते हैं:
print OUTPUT "...";
चिंता करता है, तो OUTPUT
stdout एक फ़ाइल उपयोगकर्ता द्वारा निर्दिष्ट है या बिना। क्या यह संभव है? अगर मैं यहां एक खराब डिजाइन कर रहा हूं, तो कृपया मुझे बताएं।
संबंधित: http://stackoverflow.com/q/6296536#6296773 – daxim