मैं कुशल तरीके पर्ल में फ़ाइलों को पढ़ने में में देख रहा था और यह बहुत ही दिलचस्प एक लाइनर में आए में slurping:फैंसी फ़ाइल पर्ल
my $text = do { local (@ARGV, $/) = $file; <> };
मेरा प्रश्न है: वास्तव में किस प्रकार काम करता है? आम तौर पर जब आप एक फ़ाइल slurping $/ = undef
सेट, लेकिन मुझे नहीं लगता कि यह कैसे करता है। कोड का यह छोटा टुकड़ा मेरे सिर को चारों ओर लपेटना बहुत मुश्किल साबित हो रहा है।
इसके लिए एक सरल ब्रेकडाउन और स्पष्टीकरण क्या होगा?
अब मुझे पता है कि यह कैसे काम करता है, असली कल्पना प्राप्त करें!
नहीं कि इस कोड का कोई वास्तविक उपयोग है; यह देखने के लिए बस मजेदार है और शांत है। एक ही लाइनर एक ही समय में कई फाइलों को slurp करने के लिए है !!!
my @texts = map { local (@ARGV, $/) = $_; <> } @files;
perl एक ही असाइनमेंट में एकाधिक चर निर्दिष्ट करने की अनुमति देता है (यह नहीं पता कि इसे ठीक से कैसे कहा जाता है): '($ a, $ b, $ c) = (1, 2)'। '$ c' यहां 'undef' – n0rd
समाप्त होगा जो भयानक है। आपको यह पूछना है कि यह क्या करता है, इसलिए इसे – Borodin
डुप्लिकेट न करें कोड की यह पंक्ति वास्तव में पर्ल कोड का एक सामान्य रूप से उपयोग किया जाने वाला टुकड़ा प्रतीत होता है। मैंने इसे एक से अधिक स्थानों में देखा है जो मुझे इस सवाल से पूछने के लिए प्रेरित करता है। – tjwrona1992