There html-form:
<form method=post action='../testing.cgi'> <label> Имя:       <input id='name' name='name' type='text'> </label> <br><label>Пароль: <input id='pass' name='pass' type='password'> </label> <br>Пол:       <select id='selectsex' name=sex[]> <option value='мужской'>мужской</option> <option value='женский'>женский</option> </select> <br>Возраст: <br><input type='radio' name='age' value='18'> 18 <br><input type='radio' name='age' value='19'> 19 <br><input type='radio' name='age' value='20'> 20 <br>Какие языки вы знаете? <br><input type='checkbox' name='languages[]' value='english'> Английский <br><input type='checkbox' name='languages[]' value='russian'> Русский <br><input type='checkbox' name='languages[]' value='ukrainian'> Украинский <br><input type='checkbox' name='languages[]' value='polish'> Польский <br><input type='checkbox' name='languages[]' value='german'> Немецкий <br><input type='checkbox' name='languages[]' value='french'> Французкий <br><br>Можете добавить некоторый комментарий, если хотите:<br> <textarea name='textarea' placeholder='Hello. My name is Tom Riddle...'></textarea> <br><button id='send'>Отправить</button> </form> And the Perl-script, which decodes information from the form (only Cyrillic, because it reproduces the Latin alphabet adequately), as I suppose, by this line (taken from examples in Google):
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
Generally speaking, explain what is happening here? As I understand it, the current value of the variable $ value is compared to match the specified regexp pattern, after which ... is divided by the result of the pack function ?? wtf? I want to understand
And another question, when I display the name attribute of a form element in a perl script, then if there are square brackets, I get dirty: 
How to get rid of it and display the real name?
%. Although it should be noted that the chr function will do the same - Mike