कैसे प्रदर्शित करने के लिए पर्ल सरणी

एक सरणी में से एक है बुनियादी डेटा संरचनाओं में पर्ल प्रोग्रामिंग भाषा है । सरणी में तत्वों के विभिन्न प्रकार के ।

कभी कभी आप की जरूरत है लाने के लिए की एक सरणी पर्ल स्क्रीन पर. वहाँ रहे हैं कई मायनों में यह करने के लिए ।

उपयोग join()

अक्सर सबसे अच्छा तरीका प्राप्त करने के लिए मूल्य से पर्ल सरणी पर स्क्रीन का उपयोग करने के लिए समारोह join(). समारोह का उपयोग कर join() बनाने के लिए एक स्ट्रिंग सरणी से मूल्यों, और फिर लाने के लिए इस स्ट्रिंग के लिए स्क्रीन. यहाँ एक उदाहरण है:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);

print join(', ', @arr);

हम की पहचान की है एक सरणी @arr में रखा गया है, जो एक ही नंबर है और एक स्ट्रिंग, और फिर का उपयोग कर join(', ', @arr) हम बनाया है एक स्ट्रिंग का उपयोग कर और print यह लाया करने के लिए स्क्रीन. इस का नतीजा यह कोड: 1, 20, asdf, 100. इस विधि अच्छा क्या है, क्योंकि यह स्पष्ट है ।

उपयोग Data::Dumper

कभी कभी यह आवश्यक है देखने के लिए की संरचना पर डेटा संग्रहीत में एक चर है. फिट बैठता है पुस्तकालय Data::Dumper. इस पुस्तकालय के साथ आता है पर्ल, इसे अलग से नहीं रखा है । का उपयोग कर Data::Dumper आप देख सकते हैं क्या है चर में. यहाँ एक उदाहरण है कि कोड के बारे में जानकारी प्रदर्शित करता सरणी:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = (1, 20, 'asdf', 100);

print Dumper \@arr;

के उत्पादन कार्यक्रम:

$VAR1 = [
          1,
          20,
          'asdf',
          100
        ];

उपयोग print

लेकिन का उपयोग कर से अलग join() या Data::Dumper सरणी स्क्रीन पर वापस लेने का उपयोग कर print:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);

print @arr;

परिणाम के कार्यक्रम:

120asdf100

के रूप में आप देख सकते हैं, print @arr मुद्रित सभी सरणी तत्वों के साथ. तत्वों सरणी के उत्पादन में अलग नहीं है. कभी कभी यह आप क्या जरूरत है और कभी कभी नहीं.

लेकिन इसके बजाय इस विधि के print @arr के लिए अक्सर बेहतर है स्पष्ट रूप से लिखने print join('', @arr);. रिकॉर्डिंग के साथ join() और अधिक आसान करने के लिए पढ़ने के आदमी हो ।

चर $,

वहाँ है एक विशेष चर $,, जो नियंत्रण printको जोड़ती है सरणी के तत्वों में उत्पादन के साथ. उदाहरण के लिए, आप पूरक कर सकते हैं पिछले उदाहरण और जगह इस चर में प्रतीक ,.

▶ Run
#!/usr/bin/perl

$, = ',';

my @arr = (1, 20, 'asdf', 100);

print @arr;

कार्यक्रम को प्रदर्शित करता है एक पाठ में, जो के तत्वों की सरणी अल्पविराम के द्वारा अलग: 1,20,asdf,100.

चर $, शामिल कर सकते हैं नहीं केवल एक ही चरित्र है, लेकिन कई. अगर इस चर आवंटित करने के लिए एक स्ट्रिंग $, = ', ';, तो उत्पादन होगा एक छोटे से अधिक वर्णनात्मक: 1, 20, asdf, 100.

यदि चर $, आवंटित करने के लिए प्रतीकों के लिए \n, तो प्रत्येक तत्व सरणी प्रदर्शित किया जाएगा एक अलग लाइन पर:

▶ Run
#!/usr/bin/perl

$, = "\n";

my @arr = (1, 20, 'asdf', 100);

print @arr;

लेकिन सबसे अधिक बार यह बेहतर है नहीं का उपयोग करने के लिए एक चर $,, और इस समारोह का उपयोग करें join() आदेश में करने के लिए स्पष्ट रूप से इकट्ठा मूल्यों में से एक सरणी के लिए एक स्ट्रिंग है. समस्या के साथ चर $, है कि एक मूल्य सौंपा जा सकता है एक जगह में कार्यक्रम में और print से प्रभावित है कि इस चर में एक पूरी तरह से अलग अलग जगह कार्यक्रम. जब का उपयोग कर join() सेट को विभाजित करने के लिए तुरंत स्पष्ट है । एक अन्य समस्या चर तथ्य यह है कि यह सभी को प्रभावित करता print स्थित है, जो काम के बाद.

ARRAY(0x561c66b32870)

कभी कभी जब आप दर्ज करें एक पर्ल सरणी के लिए एक स्क्रीन में आप देख सकते हैं लाइन ARRAY(0x561c66b32870). इसका मतलब यह है कि स्क्रीन प्रदर्शित करेगा, के बजाय एक सरणी के संदर्भ सरणी. यहाँ का एक उदाहरण है कि कोड प्रदर्शित करता है इस तरह से एक स्ट्रिंग:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);
my $arr_ref = \@arr;

print $arr_ref;

आदेश में प्रदर्शित करने के लिए स्क्रीन पर सरणी का उपयोग करें या Data::Dumper, या करने के लिए भिन्नता लिंक और इसके बजाय print $arr_ref; लिखने print @{$arr_ref};. बेहतर अभी तक, लिखने print join('', @{$arr_ref});

संबंधित विषयों

अन्य लेख