Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите составить рег выражение, Вытаскивание логина и пароля из файла 
:(
    Опции темы
OutlawZ
  Дата 29.10.2009, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Пишу скрипт для проверки логина или пароля и не как не могу составить или найти более умное решение, у меня есть текстовый файл 
содержащий логины и пароли типа:
Код

login:password
login:password
login:password
и т.д


Использую такой код:
Код

open(PASSWD, "secret.txt") || die "Can`t open file: $!"; #Открываю файл
@scr = <PASSWD>; #Запихиваю в массив содержимое файлов
foreach $fds(@src)  
{
 $fds =~/(\w+)\:(\w+)/gmsi;          #ищу символы до : и после
 if ( ($log  eq $1) && $pas eq $2   )
 {
  print "OK";
 }else{
  exit 0;
 }
}


Вопрос вот такой как можно улучшить вот эту строчку кода, точнее как можно сделать более удобным вытаскивание логина и пароля и сравнения их в коде если они в файле содержится в виде логин:пароль?
Код

$fds =~/(\w+)\:(\w+)/gmsi; 




--------------------
user posted image
user posted image
PM MAIL   Вверх
jdoe
Дата 29.10.2009, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.9.2009

Репутация: нет
Всего: 2



/([^:]*):(.*)/o;
PM MAIL   Вверх
ginnie
Дата 29.10.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



OutlawZ, предлагаю другой вариант:
  • на основе данных файла создаете хэш, где login:pass - ключ, значение - любое
  • далее создаете ключ из $log:$pass и проверяете его наличие в хэше



--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
amg
Дата 29.10.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(OutlawZ @  29.10.2009,  15:39 Найти цитируемый пост)
Вопрос вот такой как можно улучшить вот эту строчку кода
Убрать совешенно ненужные в данной ситуации gmsi  smile 
И в регулярке jdoe опцию o тоже  smile 
PM MAIL   Вверх
krypt3r
Дата 29.10.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: 2
Всего: 16



Смысл в регулярке, если можно обойтись split-ом?
PM MAIL   Вверх
jdoe
Дата 29.10.2009, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.9.2009

Репутация: нет
Всего: 2



Цитата(krypt3r @ 29.10.2009,  16:33)
Смысл в регулярке, если можно обойтись split-ом?

ИМХО, топик -- разводняк. Хотя для поднятия настроения покатит!
PM MAIL   Вверх
arto
Дата 29.10.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



grep -qE "^$user:$pass\$" secret.txt
PM MAIL ICQ   Вверх
Logo
Дата 29.10.2009, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 694
Регистрация: 22.7.2008

Репутация: 3
Всего: 10



Цитата

Смысл в регулярке, если можно обойтись split-ом?


TMTOWTDI


Код работать правильно не будет. В случе, если первая запись не подходит, сразу выходим, остальные не проверяем.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0669 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.