कैसे मुद्रित करने के लिए एक हैश पर्ल में

में पर्ल प्रोग्रामिंग भाषा कभी कभी आवश्यक है करने के लिए मुद्रित सामग्री के साथ हैश ।

उदाहरण के लिए, वहाँ है एक हैश %h निम्नलिखित सामग्री के साथ:

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

पर निर्भर करता है क्या आप चाहते हैं के लिए, वहाँ रहे हैं कुछ अलग अलग तरीकों से मुद्रित करने के लिए हैश.

उपयोग Data::Dumper

अगर आप की जरूरत है जल्दी से देखने के लिए क्या है में निहित हैश है, तो इस यह सुविधाजनक है का उपयोग करने के लिए मॉड्यूल Data::Dumper. यह उपयोगी हो सकता है विकास की प्रक्रिया में या डिबगिंग के एक कार्यक्रम है ।

यहाँ है एक उदाहरण कोड:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

print Dumper \%h;

है कि क्या ले जाएगा इस कार्यक्रम:

$VAR1 = {
          'Bob' => 'yellow',
          'Alice' => 'silver',
          'John' => 'red'
        };

हैश दुकानों का आदेश नहीं जोड़े के मूल्यों. अलग स्टार्टअप प्रोग्राम उत्पादन होगा जोड़े एक अलग क्रम में.

उपयोग print

क्या होता है अगर तुम सिर्फ पारित हैश में print?

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

print %h;

कार्यक्रम को प्रदर्शित करता है एक पंक्ति के रूप:

JohnredBobyellowAlicesilver

यह स्पष्ट है कि इस मामले में print लाया स्क्रीन करने के लिए एक साथ सभी जोड़े महत्वपूर्ण मूल्य के हैश. हैश दुकानों का आदेश नहीं जोड़े के मूल्यों. अलग रन के कार्यक्रम दे देंगे विभिन्न उत्पादन.

print और चर $,

अगर आप सिर्फ निर्दिष्ट print %h;, यह सब प्रिंट कुंजी और मूल्य के साथ. आप पूछ सकते हैं पर्ल सम्मिलित करने के लिए, एक प्रतीक तत्वों के बीच. उदाहरण के लिए, नई लाइन चरित्र \n.

इस के लिए आप की जरूरत है डाल करने के लिए इस प्रतीक में एक विशेष चर $,. यहाँ कोड है:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

$, = "\n";

print %h;

संभव परिणामों में से एक के कार्यक्रम (डेटा हैश में आदेश नहीं कर रहे हैं, तो विभिन्न चलाता है उत्पादन होगा जोड़े में एक अलग क्रम में):

Bob
yellow
Alice
silver
John
red

लेकिन इस विधि का उपयोग करने की आवश्यकता ध्यान. चर $, — वैश्विक. अगर कर रहे हैं आप इसे बदल रहा है परिवर्तन के साथ, यह परिवर्तन के लिए संपूर्ण कार्यक्रम है । कुछ स्थितियों में समझ में आता नहीं करने के लिए इस विधि का उपयोग करें, या तो स्टोर करने के लिए मूल्य इस चर में एक अस्थायी चर, और फिर print वापस करने के लिए मूल्य में यह, उदाहरण के लिए, इस प्रकार है:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

my $saved = $,;

$, = "\n";

print %h;

$, = $saved;

पर Iterating हैश

सबसे शक्तिशाली और लचीला तरीका करने के लिए उत्पादन की सामग्री हैश स्क्रीन पर है सभी के माध्यम से जाने के मूल्यों में हैश और बाहर प्रिंट स्क्रीन के रूप में की जरूरत है. यहाँ का एक उदाहरण है कि यह कैसे किया जा सकता है:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

foreach my $name (sort keys %h) {
    say "$name $h{$name}";
}

कार्यक्रम के उत्पादन हमेशा एक ही है:

Alice silver
Bob yellow
John red

के लिए मूल्य जोड़े में हैश आदेश अपरिभाषित है, लेकिन इस कार्यक्रम का उपयोग करता है sortआदेश प्रदर्शित करने के लिए कुंजी वर्णमाला के क्रम में.

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

अन्य लेख