Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 14:27 25.04.24 
Клубове/ Компютри и Интернет / Perl Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Проблем при обработка на файлове. [re: acidmax]
Автор:P (Нерегистриран) 
Публикувано30.12.02 18:28  



здравей
и аз мисля че новата парола е имала някакви символи които са ти разбъркали нещата.
и според мен има някои неща които ще е по-добре да оправиш.
например не мисля че 'perl -e ....' е подходящо в случая.
също така ако някъде в тази нова парола има : направо ти съсипва всичко.
и една парола не трябва да е минимум 1 символ, а например поне 5.

за обработката на файла може би е по-добре нещо като:

open F, users.ini or die $!; #ReadOnly
@array = <F>;
close F;

### всеки елемент на @array ти е ред от файла, т.е. user:pass:permissions

s/^\Q$user:$pass:$access\E/$user:$NewPassword:$access/ foreach @array;

ако си намерил usera с тази парола, заместил си каквото трябва
и само записваш масива, независимо променен или не отново във файла.

open F, "> users.ini" or die $!;
print F @array; ### тук внимавай евентуално с новите редове, \n
close F;

субституцията която правиш ми изглежда ОК, но май ще е по-добре с нещата които съм добавил:
^ - начало
\Q и \E - това премахва специалните означения които евентуално има в някоя променлива

Но пак остават проблемите с : и \n защото

потребител:парола
:права:потребител1:парола1:права1

това след потребител:парола си е чист нов ред, т.е. \n

ако можеш по-добре използвай база данни за това нещо, много по-сигурно и удобно е.
и това което съм написал има да се оправя, например не можеш да си сигурен че си намерил user с такава парола и си направил заместването, ...
обикновенно user името се състои само от символи за дума, $user =~ /^\w+$/ or "Incorrect user name";
а и за паролата има някакви подобни ограничения, най-малкото ти можеш да си създадеш такива, например в парола да не се съдържа символа : (тоя разделител най-добре го промени да не е това)
надявам се да съм ти помогнал с нещо от тия писания.



Цялата тема
ТемаАвторПубликувано
* Проблем при обработка на файлове. acidmax   29.12.02 16:58
. * Re: Проблем при обработка на файлове. :P   30.12.02 18:28
. * Re: Проблем при обработка на файлове. acidmax   30.12.02 19:25
. * Re: Проблем при обработка на файлове. onzi   31.12.02 15:44
. * Re: Проблем при обработка на файлове. acidmax   01.01.03 17:16
. * Re: Проблем при обработка на файлове. onzi   03.01.03 18:16
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.