2011-08-08 3 views
10

यहाँ मैं क्या मतलबइसका उपयोग करते समय एक पर्ल मॉड्यूल को पैरामीटर पास करने का तरीका कैसे काम करता है?

use SOAP::Lite +trace => [ qw(debug) ]; 
सोप में

तो क्या है +trace :: लाइट का एक उदाहरण है? मुझे लगता है कि यह एक पैकेज स्कॉप्ड हैश का हिस्सा है? मेरा मतलब है कि अगर मैं अपने मॉड्यूल में से एक में समान वाक्यविन्यास लागू करना चाहता हूं तो मैं इसे कैसे करूं?

यह काम कैसे करेगा यदि मुझे प्रतीक आयात करने की भी आवश्यकता है, उदा।

use Foo qw(some_function); 

क्या यह काम करेगा?

use Foo qw(some_function) +option => 'bar'; 

क्या मॉड्यूल में कोई अतिरिक्त जादू की आवश्यकता होगी जो आपको इस तरह की चीजों को पारित करने की अनुमति दे?

टिप्पणी: सुनिश्चित करें मैं सवाल का शीर्षक, reword को

+0

आप शायद देख सकते हैं कि स्रोत को पढ़कर 'SOAP :: लाइट' कैसे करता है; 'perldoc -m SOAP :: लाइट' ऐसा करने का एक तरीका है। –

+1

@ स्रोत पढ़ने के लिए पूछने की सभी समझ नहीं आती है ... और संयोग से कोडिंग में परिणाम – xenoterracide

उत्तर

12

के लिए स्वतंत्र महसूस की तरह नहीं जब आप use Foo @args करते हैं, पर्दे के पीछे क्या होता है बराबर इस के लिए है:

BEGIN { 
    require 'Foo.pm'; 
    Foo->import(@args); 
}; 

तो में इस मामले में, use SOAP::Lite +trace => [ qw(debug) ] इस तरह एक import कॉल में बदल जाता है:

SOAP::Lite->import('+trace' => [ 'debug' ]); 

सटीक रूप से import दिनचर्या कैसे लागू करता है मॉड्यूल लेखक तक है। अधिकांश मॉड्यूल Exporter द्वारा प्रदान किए गए मानक import का उपयोग करते हैं, लेकिन आप जो कुछ भी चाहते हैं उसे डाल सकते हैं और इसे use समय पर निष्पादित किया जाएगा।

+2

और इस समझ के साथ, आप SOAP :: लाइट :: आयात() के स्रोत कोड को समझने का प्रयास कर सकते हैं । –

संबंधित मुद्दे

 संबंधित मुद्दे