2011-12-15 12 views
5

के लिए एस्क फ़ंक्शन मेरे पास एक ऐसा फ़ंक्शन है जिसे मैं दो अलग-अलग पर्ल स्क्रिप्ट में परिभाषित करना चाहता हूं, लेकिन दोनों को संपादित करना नापसंद करता हूं। क्या कोई तरीका है कि मैं बाहरी फ़ाइल से include (जैसे PHP में) कर सकता हूं?"शामिल" - पर्ल

समारोह फ़ाइल:

sub test { 

} 

फ़ाइल 1:

include func_file; 
foo(); 
bar(); 
test(); 

फ़ाइल 2:

include func_file; 
blah(); 
test(); 
+0

इसके अलावा: http://stackoverflow.com/questions/1712016/how-do-i-include-functions-from-another-file-in-my-perl-script – Alex

+0

@Alex क्यों धन्यवाद! – tekknolagi

उत्तर

6

Func.pm:

package Func; 

use Exporter qw(import); 
our @EXPORT = qw(test); 

sub test { 
} 

1; 

File1.pl:

use Func; 

test(); 
+0

'1;' के लिए क्या है? – tekknolagi

+0

आयातित फ़ाइलों को एक वास्तविक मान वापस करना होगा। – TLP

+0

@ टीएलपी टिप – tekknolagi

9

बाल बाल सवाल का जवाब करने के लिए:

हाँ, आप require('filename') फ़ंक्शन का उपयोग करके एक फ़ाइल को शामिल कर सकते हैं।

आम तौर पर इस सवाल का जवाब करने के लिए:

पर्ल अपने पैकेज तंत्र के माध्यम से परिभाषित करने और कार्यों के निर्यात के लिए एक पूर्ण तंत्र है। यह described in perlmod है। आपको वास्तव में इस तंत्र का उपयोग करना चाहिए, क्योंकि आप अंततः मॉड्यूल को एक सीपीएएन मॉड्यूल में पैकेज कर सकते हैं, और इसे दूसरों के लिए उपलब्ध करा सकते हैं, या अन्य सिस्टम पर इंस्टॉल करना आसान है।

+0

ओह, साफ! एक नज़र डालेगा – tekknolagi