2010-08-14 21 views
8

Trong một hình thức HTML, nếu chúng tôi cung cấp tên cho hộp đầu vào với [], như thế nàylàm thế nào để vượt qua một mảng để một kịch bản perl cgi với một hình thức HTML?

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

Trong PHP, chúng ta có thể có được giá trị của các hộp đầu vào trong một mảng, với $_POST['foo'].

Làm cách nào để thực hiện tương tự trong Perl? Tôi sử dụng CGI.pm

Trả lời

12

Chỉ cần gán kết quả của param vào một mảng.

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

Không yêu cầu tên kết thúc bằng [].

+1

Thx! Nó hoạt động! Perl thậm chí còn thông minh hơn PHP cho việc này! – powerboy

+1

Hãy cẩn thận. Trước tiên, bạn nên nhớ kiểm tra REQUEST_METHOD thích hợp (GET/POST). CGI :: param() được sử dụng để lấy các tham số yêu cầu 'GET' hoặc' POST' từ tiêu đề. – vol7ron

+0

@ vol7ron, tại sao bạn cần kiểm tra phương thức yêu cầu? Thông thường, không quan trọng phương pháp nào được sử dụng. – cjm

Các vấn đề liên quan