मैं पर्ल के साथ एक चर के लिए कैसे मुद्रित कर सकता हूं?पर्ल में, फ़ाइल के बजाय मैं एक चर के लिए कैसे मुद्रित कर सकता हूं?
मैं जो एक बेहद वर्बोज़ फैशन में अपने पुनरावृत्ति प्रगति लॉग थोड़ी देर के लिए एक कार्यक्रम पर काम कर रहा है ...
print $loghandle $some_message;
हालांकि, मैं भी चुनिंदा के कुछ प्रिंट करना चाहते हैं एक अलग फ़ाइल के लिए संदेश। स्वाभाविक रूप से, मैं कोड को छिड़का सकता हूं ...
print $loghandle $some_message
print $otherloghandle $some_message
या पूरे व्यवसाय को एक समारोह में फिर से लिखना। ब्ला।
मुझे क्या करना चाहते हैं जब मैं $ loghandle खोलने इतनी है कि जब मैं print
'ing, मैं वास्तव में सिर्फ एक चर के खिलाफ एक sprintf
ish आपरेशन कर रहा हूँ कर रहा हूँ (यह $current_iteration
कहते हैं) कुछ जादू करते हैं, ताकि है मैं इस तरह कुछ कर सकते हैं जब मैं एक निर्णय बात करने के लिए नीचे लाने के लिए ...
print $real_log_file $current_iteration;
print $other_real_log_file $current_iteration if($condition);
मैं काफी यकीन है कि मैं इस कहीं की तरह कुछ देखा है हूँ, लेकिन मुझे नहीं पता कि यह वह जगह है जहाँ या जहां देखने के लिए है ।
संपादित करें: फ़ाइल :: टी इस समस्या को * निक्स पर कुछ हद तक हल करता है, लेकिन मैं विंडोज पर चलता हूं।
देजा वू? http://stackoverflow.com/questions/1532544/how-can-i-send-stdout-and-stderr-to-a-log-file-and-to-the-screen-in-win32-perl/1532691# संभवतः 1532691 –
। मैं वास्तव में वास्तविक धाराओं को टी करने की कोशिश नहीं कर रहा हूं (हालांकि इससे कोई फर्क नहीं पड़ता); यह गंतव्य स्ट्रीम के रूप में कार्य करने के लिए एक चर सेट कर रहा है। मैं आलसी हूं और 50 अजीब लॉगिंग संदेशों को फिर से लिखना नहीं चाहता हूं, देखें। :-) –
@ पॉल नाथन मैं ब्रायन डी फोय के जवाब से जुड़ा हुआ हूं। Log4perl का प्रयोग करें। लॉगिंग स्तर के रूप में अपनी '$ शर्त' को व्यक्त करें, क्रियाओं को परिभाषित करें। मैं इसे एक उत्तर के रूप में नहीं जोड़ रहा हूं क्योंकि मेरे पास यह देखने के लिए समय नहीं है कि यह कैसे काम करता है, लेकिन मैं पिछले अनुभव के आधार पर Log4perl की पूरी तरह से अनुशंसा करता हूं। –