ऑपरेटर . पर्ल में

डॉट ऑपरेटर में प्रयोग किया जाता है पर्ल के लिए संयोजन (connection) लाइनों.

उदाहरण:

▶ Run
#!/usr/bin/perl

print 'ABC' . 'DEF';

कार्यक्रम को प्रदर्शित करेगा स्ट्रिंग 'ABCDEF'.

इस उदाहरण में, डॉट ऑपरेटर के लिए आवेदन किया है, दो लाइनों में लिखे प्रोग्राम कोड (इन पंक्तियों में कहा जाता है "स्ट्रिंग literals").

आमतौर पर, ऑपरेंड के ऑपरेटर बिंदु . कर रहे हैं स्ट्रिंग literals, अदिश चर, या परिणाम के अन्य कार्य करता है ।

तार और संख्या

ऑपरेटर . हमेशा के साथ काम कर अपने तर्क के रूप में तार. परिणाम के इन सभी चार संचालन किया जाएगा एक ही लाइन '11'.

  • 1 . 1
  • 1 . '1'
  • '1' . 1
  • '1' . '1'

और वह ठीक है । यह हो सकता है पूरी तरह से कोई समस्या नहीं करने के लिए जुटना संख्या तार करने के लिए — और परिणाम है बिल्कुल के रूप में की उम्मीद है.

का उपयोग सरणी के रूप में संकार्य

यहाँ है एक उदाहरण के एक कार्यक्रम में जहां एक सरणी concatenated के साथ तार का उपयोग कर ऑपरेटर .:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three');

print 'A' . @arr . 'B';

कार्यक्रम को प्रदर्शित करेगा स्ट्रिंग 'A3B'.

'A' . @arr . 'B' के रूप में ही है कि 'A' . scalar(@arr) . 'B'.

जब का उपयोग कर सरणी के ऑपरेटर बिंदु . सरणी में प्रयोग किया जाता है अदिश संदर्भ और एक सरणी में अदिश संदर्भ में तत्वों की संख्या देता है इस सरणी में.

का उपयोग हैश के रूप में संकार्य

यहाँ एक नमूना कार्यक्रम में जो हैश concatenated के साथ तार का उपयोग कर ऑपरेटर .:

▶ Run
#!/usr/bin/perl

my %h = (
    a => 'one',
    b => 'two',
);

print 'A' . %h . 'B';

पर निर्भर करता है पर्ल संस्करण, कार्यक्रम प्रदर्शित करेगा या तो एक स्ट्रिंग के रूप 'A2/8B', या एक स्ट्रिंग 'A2B'.

'A' . %h . 'B' के रूप में ही है कि 'A' . scalar(%h) . 'B'.

उसी तरह के रूप में सरणी में मामला है, जब का उपयोग कर एक हैश ऑपरेटर के साथ बात . हैश है में इस्तेमाल किया अदिश के संदर्भ में.

पर्ल 5.26 हैश में अदिश संदर्भ रिटर्न के जोड़े की संख्या में तत्वों की इस हैश. और के संस्करण में पर्ल करने के लिए 5.26 हैश में अदिश संदर्भ रिटर्न के बारे में जानकारी की आंतरिक संरचना हैश.

का प्रयोग करें लिंक पर Sabu के रूप में संकार्य

यहाँ का एक उदाहरण है जो एक कार्यक्रम के लिए लिंक सबा concatenated के साथ तार का उपयोग कर ऑपरेटर .:

▶ Run
#!/usr/bin/perl

my $sub = sub {
   return 42;
};

print 'A' . $sub . 'B';

पर्ल संस्करण के लिए 5.22 प्रदर्शित करता है की तरह कुछ ACODE(0x1452f00)Bसे शुरू, 5.22 स्क्रीन पर यह लगभग एक ही हो जाएगा जगह है, लेकिन वहाँ हो जाएगा और अधिक अंक के बाद 0x: ACODE(0x561e87413ed8)B.

अलग रन के कार्यक्रम को दिखाने के लिए अलग अलग संख्या है.

'A' . $sub . 'B' के रूप में ही है 'A' . scalar($sub) . 'B'. का उपयोग करते समय में अदिश संदर्भ में एक गुमनाम सबा रिटर्न एक स्ट्रिंग के रूप CODE(0x10dbf00) (के बारे में जानकारी जहां स्मृति में है के लिए कोड है कि सबा, यह ज्ञान बहुत दुर्लभ होना चाहिए).

अंडरस्कोर _

करने के लिए जुटना तार पर्ल में, हम का उपयोग करें ऑपरेटर बिंदु .. बयान में रेखांकित _ पर्ल में नहीं. लेकिन ऑपरेटर _ में लोकप्रिय पर्ल पुस्तकालय के लिए टेम्पलेट::टूलकिट और इस पुस्तकालय में यह प्रयोग किया जाता है के लिए संयोजन.

utf8 झंडा

उस मामले में, अगर संयोजन में भाग लेता है कम से कम एक पंक्ति है जो एक आंतरिक झंडा, जिसका मतलब है कि सामग्री है utf8 इनकोडिंग है, तो जिसके परिणामस्वरूप पंक्ति इस ध्वज भी हो जाएगा. यहाँ एक उदाहरण की पुष्टि करता है कि यह व्यवहार:

▶ Run
#!/usr/bin/perl

use utf8;

my $str_with_flag = 'раз-два-три';

my $str_without_flag = 'one-two-three';

print utf8::is_utf8($str_with_flag) . "\n"; # prints 1
print utf8::is_utf8($str_without_flag) . "\n"; # prints empty string

print utf8::is_utf8($str_with_flag . $str_without_flag) . "\n"; # prints 1
print utf8::is_utf8($str_without_flag . $str_with_flag) . "\n"; # prints 1

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

अन्य लेख