2010-08-14 10 views
8

एक HTML रूप में,, इसएक HTML फॉर्म के साथ एक perl cgi स्क्रिप्ट में सरणी कैसे पास करें?

<input name="foo[]" type="text" /> 
<input name="foo[]" type="text" /> 

PHP में की तरह अगर हम [] साथ इनपुट बॉक्स को नाम देते हैं, हम एक सरणी में इन इनपुट बॉक्स का मान प्राप्त कर सकते हैं, $_POST['foo'] साथ।

पर्ल में समान कैसे करें? मैं CGI.pm

उत्तर

12

का उपयोग केवल एक सरणी में param का परिणाम असाइन करें।

my @values = param('foo[]');   # If you use the functional-style 
my @values = $query->param('foo[]'); # If you use the OO-style of CGI.pm 

कोई आवश्यकता है कि नाम [] के साथ समाप्त होता है।

+1

Thx! यह काम करता हैं! इस के लिए PHP से पर्ल भी स्मार्ट है! – powerboy

+1

सावधान रहें। आपको सबसे पहले उचित REQUEST_METHOD (GET/POST) की जांच करना याद रखना चाहिए। CGI :: param() का उपयोग हेडर से 'GET' या' POST' अनुरोध पैरामीटर को पुनर्प्राप्त करने के लिए किया जाता है। – vol7ron

+0

@ vol7ron, आपको अनुरोध विधि की जांच क्यों करनी होगी? आमतौर पर, इससे कोई फ़र्क नहीं पड़ता कि किस विधि का उपयोग किया गया था। – cjm

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