У меня есть форма с несколькими методами ввода.Я передаю эти данные в Perl-скрипт для обработки распечатанного текста на основе ввода данных.У меня проблема со значениями группы флажков.(все флажки с одинаковым именем)
<td>Profiles: </td>
<td><input type=\"checkbox\" value=\"oneconnect\" name=\profile[]\">OneConnect <br />
<input type=\"checkbox\" value=\"http\" name=\profile[]\">HTTP <br />
<input type=\"checkbox\" value=\"xforwardedfor\" name=\profile[]\">Xforwarded-for</td>
</tr>
</table>
Действие отправляет эти данные в сценарий perl для обработки.
read (STDIN, $FormData, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $FormData);
print Dumper($FormData);
foreach my $pair (@pairs) {
# Separate the name and value:
($name, $value) = split(/=/, $pair);
# Convert + signs to spaces:
$value =~ tr/+/ /;
# Convert hex pairs (%HH) to ASCII characters:
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# Store values in a hash called %FORM:
$FORM{$name} = $value;
}
Затем я могу распечатать большую часть данных с помощью:
print "$FORM{'vsip1'} $FORM{'vsport1'} <br />\n";
Однако я не могу получить доступ к имени «профиль» из флажков с той же командой печати.Я вижу значения «профиля», когда «сбрасываю» данные.вывод на вывод дампа печати (&% 5Cprofile% 5B0% 5D% 22 = oneconnect &% 5Cprofile% 5B1% 5D% 22 = http & SubmitForm) Это хэш хэша?и как я могу получить доступ к этим значениям в perl.
Спасибо за любые предложения, которые вы можете предоставить.