मैं नीचे की तरह एक सरणी तर्क पारित करके पर्लपर्ल उप में सरणी पास करते समय "बहुत अधिक तर्क"?
sub create_hash()
{
my @files = @_;
foreach(@files){
if(/.text/)
{
open($files_list{$_},">>$_") || die("This file will not open!");
}
}
}
मैं इस समारोह बोल रहा हूँ में नीचे एक समारोह है:
create_hash(@files2);
सरणी उस में 38 के आसपास मूल्यों मिल गया है। लेकिन मैं हो रही है संकलन त्रुटियों:
Too many arguments for main::create_hash at ....
क्या गलत है कि मैं यहाँ कर रहा हूँ?
मेरी पर्ल संस्करण है:
This is perl, v5.8.4 built for i86pc-solaris-64int
(with 36 registered patches, see perl -V for more detail)
'()' उतार? (जैसा कि 'sub create_hash {..}') –
यदि आप अपने फ़ंक्शन को कॉल करते हैं तो क्या होता है: create_hash (files2); (बिना "@" चिह्न के) – Arfeen
@ pst अगर मैं उन्हें हटा देता हूं तो त्रुटि है: Array पाया जाता है जहां ऑपरेटर पर प्रक्रिया की उम्मीद है। लाइन (क्या आपको create_hash पूर्व निर्धारित करने की आवश्यकता है?) प्रक्रिया में वाक्यविन्यास त्रुटि .pl लाइन 71, "create_hash @ files2" के पास – Vijay