FileHandle के कुछ उपयोगी तरीके
फ़ाइलहैंडल मॉड्यूल की कुछ सामान्य रूप से उपयोग की जाने वाली विधियाँ इस प्रकार हैं:
तरीका | उद्देश्य |
कहना | इसका उपयोग फ़ाइल के आकार को बाइट्स में गिनने के लिए किया जाता है। |
जीइ टीसी | इसका उपयोग फ़ाइल सामग्री के प्रत्येक अक्षर को पढ़ने के लिए किया जाता है। |
तलाश | इसका उपयोग फ़ाइल पॉइंटर को किसी विशेष स्थान पर ले जाने के लिए किया जाता है। |
ईओएफ | यह फ़ाइल के अंत को इंगित करता है. |
बंद करना | इसका उपयोग पहले से परिभाषित फ़ाइल हैंडलर को बंद करने के लिए किया जाता है। |
पर्ल फ़ाइलहैंडल के उदाहरण
ट्यूटोरियल के इस भाग में कई उदाहरणों का उपयोग करके फ़ाइलहैंडल मॉड्यूल के विभिन्न उपयोग दिखाए गए हैं।
उदाहरण 1: एक नई फ़ाइल बनाएँ
निम्नलिखित स्क्रिप्ट के साथ एक पर्ल फ़ाइल बनाएं जो फ़ाइलहैंडल मॉड्यूल का उपयोग करके एक नई फ़ाइल बनाती है। उपयोगकर्ता से एक फ़ाइल नाम लिया जाता है और जाँचा जाता है कि यह मौजूद है या नहीं। यदि फ़ाइल मौजूद नहीं है, तो 1 सेकंड प्रतीक्षा करने के बाद फ़ाइल को 'फ़ाइलहैंडल' वर्ग का ऑब्जेक्ट बनाकर लिखने के लिए खोला जाता है।
#!/usr/bin/perl
सख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;
फ़ाइलहैंडल का उपयोग करें ;
#बनाने के लिए उपयोगकर्ता से फ़ाइल नाम लें
छपाई 'फ़ाइल नाम दर्ज करें:' ;
मेरा $f = <>;
चॉम्प ( $फ ) ;
#जांचें कि फ़ाइल पहले से मौजूद है या नहीं
अगर ( -ई$फ )
{
#यदि फ़ाइल मौजूद है तो एक संदेश प्रिंट करें
कहना 'फ़ाइल पहले से ही मौजूद है।' ;
}
अन्य
{
# फ़ाइल हैंडलर ऑब्जेक्ट बनाएं
मेरा $FileHandler = फाइलहैंडल- > नया ;
कहना 'फ़ाइल में लिख रहा हूँ...' ;
#1 सेकंड रुकें
नींद ( 1 ) ;
#लिखने के लिए फ़ाइल खोलें
अगर ( $फ़ाइलहैंडलर- > खुला ( '> $f' ) )
{
#फ़ाइल में पाठ की एक पंक्ति लिखें
छपाई $फ़ाइलहैंडलर 'यह एक परीक्षण संदेश है. \एन यह दूसरी पंक्ति है. \एन ' ;
#फ़ाइल हैंडलर बंद करें
$फ़ाइलहैंडलर- > बंद करना ;
}
}
आउटपुट:
आउटपुट के अनुसार, 'test.txt' फ़ाइल पहले मौजूद नहीं थी और यह फ़ाइल टेक्स्ट की दो पंक्तियों के साथ बनाई गई है। फिर, यह जांचने के लिए 'कैट' कमांड निष्पादित किया जाता है कि फ़ाइल सामग्री के साथ सफलतापूर्वक बनाई गई है या नहीं:
स्क्रिप्ट को उसी इनपुट मान के साथ फिर से निष्पादित किया जाता है और 'फ़ाइल पहले से मौजूद है' संदेश यहां मुद्रित किया जाता है क्योंकि 'test.txt' फ़ाइल पहले बनाई गई है।
उदाहरण 2: फ़ाइल की सामग्री पढ़ें
निम्नलिखित स्क्रिप्ट के साथ एक पर्ल फ़ाइल बनाएं जो फ़ाइल मौजूद होने पर 'फ़ाइलहैंडल' क्लास का उपयोग करके फ़ाइल की सामग्री को पढ़ती है। फ़ाइल नाम उपयोगकर्ता से लिया गया है.
#!/usr/bin/perlसख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;
फ़ाइलहैंडल का उपयोग करें ;
#बनाने के लिए उपयोगकर्ता से फ़ाइल नाम लें
मेरा $f = <>;
मेरा $f = ;
चॉम्प ( $फ ) ;
#जांचें कि फ़ाइल पहले से मौजूद है या नहीं
अगर ( -ई$फ )
{
#पढ़ने के लिए फ़ाइल खोलें
मेरा $FileHandler = फाइलहैंडल- > नया ( ' <$एफ' ) ;
#फ़ाइल सामग्री प्रिंट करें
छपाई < $फ़ाइलहैंडलर >;
#फ़ाइल हैंडलर बंद करें
$फ़ाइलहैंडलर बंद करें ;
}
आउटपुट:
'test.txt' फ़ाइल की सामग्री आउटपुट में मुद्रित होती है क्योंकि यह वर्तमान स्थान पर मौजूद है:
उदाहरण 3: किसी सामग्री को फ़ाइल में जोड़ें
निम्नलिखित स्क्रिप्ट के साथ एक पर्ल फ़ाइल बनाएं जो सामग्री को एक गैर-रिक्त फ़ाइल में जोड़ती है और फ़ाइल का आकार बाइट्स में प्रिंट करती है। फ़ाइल नाम उपयोगकर्ता से लिया गया है. यदि फ़ाइल मौजूद है और उसमें डेटा है, तो फ़ाइल के अंत में पाठ की एक पंक्ति जोड़ दी जाती है। अन्यथा, एक संदेश मुद्रित होता है.
#!/usr/bin/perlसख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;
फ़ाइलहैंडल का उपयोग करें ;
#बनाने के लिए उपयोगकर्ता से फ़ाइल नाम लें
छपाई 'फ़ाइल नाम दर्ज करें:' ;
मेरा $f = <>;
चॉम्प ( $फ ) ;
#जांचें कि फ़ाइल पहले से मौजूद है और खाली नहीं है या नहीं
अगर ( -स$फ )
{
मेरा $FileHandler = फाइलहैंडल- > नया ( '>>$f' ) ;
#फ़ाइल का आकार प्रिंट करें
छपाई 'फ़ाइल का आकार है' . $फ़ाइलहैंडलर- > कहना। 'बाइट्स. \एन ' ;
कहना 'सामग्री को फ़ाइल में जोड़ा जा रहा है...' ;
#1 सेकंड रुकें
नींद ( 1 ) ;
#फ़ाइल के अंत में सामग्री लिखें
छपाई $फ़ाइलहैंडलर 'यह एक नई लाइन है. \एन ' ;
#फ़ाइल हैंडलर बंद करें
$फ़ाइलहैंडलर- > बंद करना ;
}
अन्य
{
कहना 'फ़ाइल मौजूद नहीं है।' ;
}
आउटपुट:
आउटपुट के अनुसार, 'test.txt' फ़ाइल में एक नई लाइन जोड़ी गई है और फ़ाइल का आकार 45 बाइट्स है। फिर, यह जांचने के लिए 'कैट' कमांड निष्पादित किया जाता है कि सामग्री फ़ाइल में ठीक से जोड़ी गई है या नहीं:
निष्कर्ष
फाइलहैंडल मॉड्यूल फाइलों को पढ़ने, लिखने या जोड़ने के लिए पर्ल के विकल्पों में से एक है। इस मॉड्यूल के तीन अलग-अलग उपयोग इस ट्यूटोरियल में सरल उदाहरणों का उपयोग करके दिखाए गए हैं।