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

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

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:26 20.04.24 
Компютри и Интернет
   >> Perl
Всички теми Следваща тема *Кратък преглед

Тема Моля за информациянови  
АвторAниka (Нерегистриран)
Публикувано08.04.05 18:16



В работата си ползвам една доста сложна програма на Perl. Едно от нещата, които тя прави, е да генерира случайни числа по зададена от мен дължина. Минималната дължина е 6 символа. Има обаче един проблем - случайните числа, които генерира, са все едни и същи, поне пъвите 6, после добавя една нула, после тройка и тъй нататък... Програмистите (от друга фирма) ми казаха, че ползват готов генератор на случайни числа на Perl и май (абе, всъщност си е сигурно) не им се занимава с мен, но аз мисля, че това е дефект, който трябва да оправи. Не мога да се примиря с това. Готова съм да се науча как се пише такъв генератор на случайни числа. Само, моля, кажете ми откъде да се науча?
Предварително благодаря на тези, които ще ми отговорят!
И приятна и весела почивка!



Тема Re: Моля за информациянови [re: Aниka]  
Автор zuluz ($>=$<=0)
Публикувано08.04.05 19:30



Bi mogla da startirash s "Learning Perl".
Otnosno script-a, tova e vsi4ko, koeto ti e nujno
(osven ako nqma specialni iziskvaniq za performance tunning):

# Variant 1:
#~ BEGIN
# one liner

my $rand = sub { local $.;$. .= int rand(9) for 1..$_[0]+6;$. };

print $rand->(5), $/; # 11 digit random number
print $rand->(10), $/; # 16 digit random number

# and so on ...

__END__

STDOUT:

12614828840
8835423358255162



# Variant 2:
#~ BEGIN
# function

print _rand_gen(6), $/ for 1..5;
print _rand_gen(12), $/ for 1..5;
print _rand_gen(24), $/ for 1..5;

sub _rand_gen{
my $length = shift || return;
my $rand;
map{ $rand .= int rand(9)}1..$length;
$rand
}


__END__

STDOUT:

354221
838466
351686
136053
588117
764500012374
568127635713
088816636803
184545763220
383006614182
270200110214668545525731
100756783123826787364416
027011763616551464385712
536147721721264811128715
865550426154808540857436

#~

#~
$_->[/^(?>(.)?(.)+.*)(?!\1)(??{print(($1..$2)[9,0,15,7])})/]
#~

Редактирано от zuluz на 08.04.05 21:30.



Тема Re: Моля за информациянови [re: zuluz]  
АвторAниka (Нерегистриран)
Публикувано08.04.05 21:24



Много благодаря!
Но мисля, че се нуждая от още един-два съвета (аз не съм програмист, а машинен инженер, който работи нещо съвсем различно и съм просто юзер на въпросната програма):
1. Как да направя тест, без да скапя всичко, върху което са се трудили много хора?
2. Как да намеря къде да вложа тази част?



Тема Re: Моля за информациянови [re: Aниka]  
Автор zuluz ($>=$<=0)
Публикувано08.04.05 21:43



Moga samo da gadaq kude v koda se namira vuprosniq bugav generator. Kopirai samiq kod na belezka ili tuk v kluba (osven ako ne e ultra secure programa). Realno tozi fragment moje da se namira vuv vsqka chast na programata predi logicheskiq i krai. V kraina smetka i tova e harakteristika na Perl - vuzmojnostite da pravish anarhii ili - drugata krainost - lakoni4no, qsno i podredeno.

#~
$_->[/^(?>(.)?(.)+.*)(?!\1)(??{print(($1..$2)[9,0,15,7])})/]
#~


Тема Re: Моля за информациянови [re: zuluz]  
АвторAниka (Нерегистриран)
Публикувано08.04.05 21:53



Благодаря за готовото решение! Първоначалната ми молба беше да ми кажете къде да се науча да го направя сама. На 42 години съм, но не съм спирала да уча, затова мисля, че мога да разбера поне за какво става дума. Кажете ми как да разбера по какъв начин се извиква генератора. Наистина става дума дума за секретен продукт. Изпратете ми, моля, името на книгата, която да прочета или сканирани страници от нея (по Ваша преценка) на адрес : mimatami@abv.bg или ми отговорете тук. Ако не съм Ви станала твърде досадна.



Тема Re: Моля за информациянови [re: Aниka]  
Автор Valentin ()
Публикувано10.04.05 12:37



Книги за Perl на български език (в електронен формат):





Книги за Perl на английски език (в електронен формат):



Могат да се намерят още много с Google:



Предполагам, че ще ви е интересно и това:



Тема Re: Моля за информациянови [re: Valentin]  
АвторAниka (Нерегистриран)
Публикувано10.04.05 15:20



Известно време нямах нет (всъщност от петък около полунощ). Мисля, че хакер не бих станала. След като така любезно отговаряте на молбите ми. Предпочитам да съм честна с другите и се надявам те също да са коректни към мен. Благодаря за информацията. Ще проверя какво бих могла да използвам, но разбирате, че то ще е в извънработно време и във време, неупотребено за семейството ми.
Бъдете здрави!
Благодаря, че се отзовахте!
P.S. Ако се затрудня някъде, може би пак ще помоля за помощ.
P.P.S. Сетих се къде да търся генератора в в програмата, която използвам. Още сутринта в понеделник ще го напаравя, ще сравня вариантите, а после ще видим. Едва ли на своя глава ще заменя единия с другия - все пак не искам да счупя цялата система...



Тема Re: Моля за информация [re: Aниka]  
Авторradi (Нерегистриран)
Публикувано09.07.05 10:09



onova za hakera shteshe da ti e polezno da namerish koda na generatora, a inache ne se pritesniavai za sistemata - za da se napravi taka ili inache triabva da se chupi (pone da se podmeni generatorat v koito veroiatno triabva da se promeni samo onova na koeto mu kazvat "seed" i toi shte si zaraboti s vsiakakvi si negovi chisla, a za proizvolen sluchaen "seed" moje da se polzva tekushtoto verme v min. + sekundi naprimer)



Тема Re: Моля за информациянови [re: radi]  
АвторAниka (Нерегистриран)
Публикувано30.07.05 15:09



Много благодаря за вашата отзивчивост и добронамереност!
За съжаление изучаването на Perl го отложих във времето, защото правя дипломна работа в много, много далечна от програмирането област:)
Ама, да му се невидяло - след това ще намеря време за сериозни занимания!
Засега системата работи - само дето все трябва да измислям нови и нови начини да я "лъжа" непрекъснато...



Тема Re: Моля за информациянови [re: Aниka]  
Авторlevel 9 (Нерегистриран)
Публикувано18.08.05 02:40



koqto i sistema da e ne e ultra secure. ako iskam da vidq tupiq i source - shte go namerq. so - ako naistina imash problem i ne imitirash CIA - pishi konkretno kakuv e problema. (razbira se ako dyrjish toi da bude razreshen).




Всички темиСледваща тема*Кратък преглед
Клуб :  


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

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