6
मैं ऐसे कोड देखा:क्या प्रतीक :: gensym अभी भी perl 5.6 के बाद और भी उपयोगी है?
my $fh = gensym;
open $fh, ">$name" or die "Can't create $name: $!";
जो के रूप में लिखा जा सकता है:
open my $fh, ">$name" or die "Can't create $name: $!";
gensym
सिर्फ विरासत या अभी भी कुछ अवसरों में उपयोगी है?
क्या आपका मतलब यह है कि अगर मैं इस मामले में सीधे 'मेरा $ CHILD_STDOUT' पास करता हूं तो यह काम नहीं करेगा? –
@new_perl, stdout के लिए, यह काम करेगा, लेकिन stderr के लिए नहीं। लेकिन यह भी ध्यान रखें कि stdin के लिए एक ग्लोब का उपयोग किया जाता है। ('Gensym' के बारे में बात करना मूर्खतापूर्ण है क्योंकि यह सिर्फ '\ local * NAME' है, लेकिन हर बार एक नए नाम के साथ।) – ikegami
यह stderr के लिए क्यों काम नहीं करेगा? –