|
Тема |
Проблем при обработка на файлове. |
|
Автор | acidmax (Нерегистриран) | |
Публикувано | 29.12.02 16:58 |
|
|
Здравейте колеги.
Имам нужда от помощ за един проблем.
Имам файл users.ini, съдържащ на всеки ред:
потребител:парола:права
Имам също един Perl CGI скрипт, който получава от потребителя: потребител ($cgiuser), парола($cgipass) и нова парола($NewPassword).
След като сплитне файла със split (':') и присвои потребител, парола и права съответно на $user,$pass и $access, проверява дали $NewPassword е между 1 и 32 символа, и където ($cgipass = $pass) & ($cgiuser = $user) прави:
-------------------------------
`perl -p -i.old -e "s/$user:$pass:$access/$user:$NewPassword:$access/" users.ini`;
-------------------------------
Дотук всичко е ясно и върви добре. Но забелязах, че понякога информацията в целия файл се разбърква когато някой си смени паролата. Примерно става следното:
----------------------
потребител:парола
:права:потребител1:парола1:права1
потребител2:парола2
:права2:потребител3:парола3:права3
и така нататък...
----------------------
Препологам че $NewPassword е съдържал някакви специални символи, които са объркали действията на заместването.
Моля ви да ми предложите начин за проверката им. Също така ако виждате някакви грешки или знаете по-добър начин да направя това, което ви описах, ще помоля за Вашето съдействие.
Благодаря ви предварително.
|
| |
|
|
|