Это ясно вопрос в следующим эти функци стандартные или они должны быть гдето описанны есле описанны то как искать их описание? И еще вопрос сверху: на сервер есть некоторая папка scripts в ней файлы 1.pl 2.pl 3.pl есле пишу scripts\2.pl есле scripts\2.pl то вылетает некотарая стриница причем скрипт явно не выполняектся. Возможен ли такой варинт что не дает мне доступ к скрипту некий сскрипт типа index.pl который скажим провеояет меня по ip?
else { $ErrMsg="Логин $FORM{'login'} не зарегистрирован."; StartHTML(); login_form(); finish_doc() } ну начнем с того, что перед фигурной скобкой в конце пропущено ";" что уже не даст выполнится скрипту корректно. Просто у тебя отключено отображение ошибок, по всей видимости
Насамом деле код не мой мне надо с ним тока разобратся. С ; в конце тоже не очень понятно но ошибка не вылезает. Тока вопрос остается темже StartHTML(); login_form(); finish_doc() стандартные это функции или нет. И плюс для кучи еще вопрос. В коде часто встречатся строчко $FORM{'login'} $FORM{'user'} $FORM{'pass'} и т д, так вот немогу понять из за не знание perl что это толком значит я так понимаю это просто присваивание значение переменной char? И какой смысл тогда имет такая строчка if($FORM{'login'})
А что непонятного с точкой с запятой? Все операторы перла разделяются этим знаком, и неважно, в одну строку записан скрипт или в несколько. Это вызовы подпрограмм. Их код ищите или в текущем файле, или смотрите, какие пакеты подключены в начале скрипта оператором use. Этими функциями, если судить по названиям, формируется веб-страница В перле существует такой термин как ассоциативные массивы (хэши). В данном случае описывается хэш %FORM и идет обращение к его полям login, user и pass. Хэш, судя по всему, формируется какой-либо веб-формой, и после нажатия на submit происходит его заполнение. Строка Code: if($FORM{'login'}) означает проверку, пустой логин ввел юзер или нет. Все, что внутри оператора if, выполнится только, если логин был введен.
В PERL символ ";" - это разделитель между выражениями языка, а не символ их окончания, поэтому отсутствие его в конце блока кода - не ошибка.
Регулярка, нужна помощь, срочно оч... abbreviate v. 1 shorten, compress, contract, truncate, trim, reduce, curtail: We abbreviated some of the longer words to save space. 2 shorten, cut, condense, abridge, abstract, digest, epitomize, summarize, US synopsize: The school presented an abbreviated version of A Midsummer Night's Dream. Есть куча текста такого вида, нужно удалить все предложения(примеры). В этой ситуации это: : The school presented an abbreviated version of A Midsummer Night's Dream. Все примеры начинаются с : и заканчиваются . Вот мои не рабочие варианты: s/: (.*)//ig; s/: (.*) \.//ig; s/: (.*) \n \.//ig; s/: (.*) \n (.*) \.//ig; Помогите пожалуйста!
krypt3r, не то! Ребят помогайте - кто подскажет обязательно плюс поставлю! Еще раз обьясняю задание. Есть текст типа: wfvdsgfds: sdfsdfdsfasdasf. Надо удалить : sdfsdfdsfasdasf.
Чего не то? Code: #!/usr/bin/perl use strict; use warnings; my $text = "abbreviate v. 1 shorten, compress, contract, truncate, trim, reduce, curtail: We abbreviated some of the longer words to save space. 2 shorten, cut, condense, abridge, abstract, digest, epitomize, summarize, US synopsize: The school presented an abbreviated version of A Midsummer Night's Dream."; $text =~ s/:[^\.]+\.//g; print $text, "\n"; Результат Code: abbreviate v. 1 shorten, compress, contract, truncate, trim, reduce, curtail 2 shorten, cut, condense, abridge, abstract, digest, epitomize, summarize, US synopsize
С этим вопросом разобрался! Спасибо. Но ребя добить не получается никак Помогите плз. Вообще суть такая, есть текстовой документ с таким текстом: Code: abandon v. 1 give up or over, yield, surrender, leave, cede, let go, deliver (up), turn over, relinquish: I can see no reason why we should abandon the house to thieves and vandals. 2 depart from, leave, desert, quit, go away from: The order was given to abandon ship. 3 desert, forsake, jilt, walk out on: He even abandoned his fianc‚e. 4 give up, renounce; discontinue, forgo, drop, desist, abstain from: She abandoned cigarettes and whisky after the doctor's warning. --n. 5 recklessness, intemperance, wantonness, lack of restraint, unrestraint: He behaved with wild abandon after he received the inheritance. abandoned adj. 1 left alone, forlorn, forsaken, deserted, neglected; rejected, shunned, cast off or aside, jilted, dropped, outcast: An abandoned infant was found on the church steps. Totally alone, she felt abandoned by her friends. 2 bad, immoral, amoral, wicked, sinful, evil, corrupt, unprincipled, unrestrained, uninhibited, reprobate; loose, wanton, debauched, wild, dissolute, dissipated, profligate; depraved, lewd, lascivious, flagitious: His abandoned behaviour soon landed him in jail. abbreviate v. 1 shorten, compress, contract, truncate, trim, reduce, curtail: We abbreviated some of the longer words to save space. 2 shorten, cut, condense, abridge, abstract, digest, epitomize, summarize, US synopsize: The school presented an abbreviated version of A Midsummer Night's Dream. abbreviated adj. skimpy, brief, revealing: The dancers' abbreviated costumes shocked some members of the audience. abbreviation n. initialism; acronym; shortening, contraction: UK is one kind of abbreviation, or initialism; NATO, which is pronounced as a word, is another, usually called an acronym. abdicate v. give up, renounce, disclaim, waive, disown, surrender, yield, relinquish, abandon, resign, quit: He abdicated all responsibility for care of the children. She abdicated the throne to marry a commoner. abduct v. kidnap, carry off, make away or off with, seize, Slang US snatch, grab: The child that was abducted is safe. abet v. 1 encourage, urge, instigate, incite, provoke, egg on, prod, goad; aid, help, assist: The jury found that his wife had abetted him in the murder. 2 countenance, approve (of), support, endorse, second, sanction, condone; further, advance, promote, uphold: By failing to inform on the terrorists, the neighbours abetted the bombing. abeyance n. in abeyance. pending, abeyant, reserved, in reserve, shelved, pushed or shoved or shunted aside, postponed, put off, suspended, US tabled; temporarily inactive, dormant; latent; Colloq in a holding pattern, on the back burner; Slang on hold, in the deep-freeze, on the shelf, on ice, hanging fire: Legal proceedings were held in abeyance so that talks could take place to reach an out-of-court settlement. abhor v. hate, loathe, detest, abominate, execrate; regard or view with horror or dread or fright or repugnance or loathing or disgust, shudder at, recoil or shrink from; be or stand aghast at: He said that he abhorred any violation of human rights. abhorrent adj. hateful, detestable, abhorred, abominable, contemptible, odious, loathsome, horrid, heinous, execrable, repugnant; repulsive, repellent, revolting, offensive, disgusting, horrifying, obnoxious: The idea of war was totally abhorrent to her. и т.д. Нужно сделать что бы было так: abhorrent|hateful|detestable и т.д. т.е. убрать из текста все числа, удалить все словечки типа adj. v. и т.п. Удалить все примеры (начинаются или с : или с . заканчиваются .). Вот мои наброски: Code: open(TXT,"file.txt"); open(ST,">result.txt"); @all=<TXT>; close(TXT); $string=join($string,@all); $string=~s/v\.|adj\.|n\.//ig; $string=~s/\d//ig; $string=~s/,|;/|/ig; $string=~s/:[^\.]+\.//g; $string=~s/\.(.*)\.//g; @new=$string; foreach (@new){ $_=~s/ {2,}/|/g; #Удаление пробелов $_=~s/ //g; #Удаление пробелов $_ .= "\n"; #Установка символа переноса строки print ST $_; #Запись в файл } close(ST); Но работает хреновенько . Кто действительно поможет, получит небольшое денежное вознагрождение и + ! Всем спасибо заранее
$p01nt, попробуй вот этот код. Code: #!/usr/bin/perl use strict; use warnings; open my $F, '<', '05.txt'; my $text = join '', <$F>; $text =~ s/\n{2}/\$\$\$/g; $text =~ s/\n/ /g; $text =~ s/:[^\.]+\./\,/g; $text =~ s/\d+//g; $text =~ s/[\,\;]/\|/g; $text =~ s/\s(v|n|adj|pron|num|adv|prep|conj)\.\s/\|/g; $text =~ s/\|\s+/\|/g; $text =~ s/\$\$\$/\n/g; $text =~ s/\s*\|\s*$//g; print $text, "\n"; Но код имеет ограничения. Первое - если идет подряд несколько примеров, то вырезается только первый (регулярка s/[^\.]+\.)+/\,/g не помогла). Второе - надо в строке Code: $text =~ s/\s(v|n|adj|pron|num|adv|prep|conj)\.\s/\|/g; перечислить все части речи, встречающиеся в файле. Третье - строка видимо съехала с родного места, такие надо поднимать к соответствующему слову на родину. ЗЫ. Больше моск уже не работает =/
Опять я с тупыми вопросами Теперь у мну не работает парсер. Code: #Обьявление необходимых модулей use warnings; use LWP 5.64; use encoding "cp1251"; #Создаем "броузер" и обьявляем переменные $urlWnews='http://www.kinopoisk.ru/level/2/page/'; $newsview='http://www.kinopoisk.ru/level/2/news/'; $numbOnpage=5; $parsWpage=2; $browser = LWP::UserAgent->new; $browser->agent('Mozilla/4.76 [en] (Win98; U)'); #Узнаем номер новостей на каждой странице $sr=1;$i=0; while($parsWpage > $sr){ $urlWnews="http://www.kinopoisk.ru/level/2/page/" . "$sr"; print "Parsim $urlWnews\n"; while($numbOnpage > $i) { $response=$browser->get($urlWnews) or die ("DIE!"); $response=$response->as_string; @ms=$response=~m/<a href="\/level\/2\/news\/(.*)\/" class="continue">/ig; print $ms[$i] . "\n"; $i++; } $i=0; $sr++; } #Самый чоткий момент, вытаскиваем новости! #Помочь тут :)) $i=0;$max=$#ms; while($max > $i){ $newsview .= $ms[$i]; $response=$browser->get($newsview) or die ("DIE!"); $response=$response->as_string; @titl=$response=~m/<title>(.*)<\/title>/ig; $titl[$i] .= '.txt'; @text=$response=~m/<tr><td style="padding-top:10px;padding-bottom:20px" colspan=2 class="news">[^\.]<td><\/tr>/ig; # ВОт тут не получается open(FF,">$titl[$i]"); print FF $text; close(FF); } Cобственно говоря все до парсинга самой новости работает. А вот с последним проблемы, помогите плз!
на, держи Code: #Обьявление необходимых модулей use warnings; use LWP 5.64; use encoding "cp1251"; #Создаем "броузер" и обьявляем переменные $urlWnews='http://www.kinopoisk.ru/level/2/page/'; $newsview='http://www.kinopoisk.ru/level/2/news/'; $numbOnpage=5; $parsWpage=2; $browser = LWP::UserAgent->new; $browser->agent('Mozilla/4.76 [en] (Win98; U)'); #Узнаем номер новостей на каждой странице $sr=1;$i=0; while($parsWpage > $sr){ $urlWnews="http://www.kinopoisk.ru/level/2/page/" . "$sr"; print "Parsim $urlWnews\n"; while($numbOnpage > $i) { $response=$browser->get($urlWnews) or die ("DIE!"); $response=$response->as_string; @ms=$response=~m/<a href="\/level\/2\/news\/(.*)\/" class="continue">/ig; print $ms[$i] . "\n"; $i++; } $i=0; $sr++; } #Самый чоткий момент, вытаскиваем новости! #Помочь тут :)) $i=0;$max=$#ms; while($max > $i){ $newsview_temp = $newsview . $ms[$i]; #^^^^^^^бага воз хир!! $response=$browser->get($newsview_temp) or die ("DIE!"); $response=$response->as_string; @titl=$response=~m/<title>(.*)<\/title>/i; @text=$response=~m/<td style="padding-top:10px;padding-bottom:20px" colspan=2 class="news">(.*?)<td>/is; # ВОт тут не получается #^^^^^^^анд хир #::какбэ trim $text[0] =~ s/^\s*(.*?)\s*$/$1/s; open(FF,">$titl[0].txt"); #^^^^^^^анд хир print FF $text[0]; #^^^^^^^анд хир close(FF); $i++; #^^^^^^^анд хир;) } с именами файлов фигня, предлогаю как имя файла использовать айди.
Чуваки помогите пожалуйс вопрос немного не по теме,но надо очень срочно!!! найти наибольший элемент каждой строки мытрицы А(4;6) и записать их в массив Y при заданных массивах X(10)-абсцисс,Y(10)-ординат точек плоскости XOY,подсчиатть,сколько из них находится в пределах круга с заданным радиусом Р и центром в начале координаь (0;0)........пож напишите ответ в асю 446644218...очень срочно надо!!!
Гы, ну еси на перле то типа: Code: use warnings; while(<>) {eval $_} sub radius { @x = (); for(0..9) {print $x[$_] = int(rand(100)); print"|"} print "\n"; @y = (); for(0..9) {print $y[$_] = int(rand(100)); print"|"} print "\n"; print "R-?\n"; $R = <>; $D = 0; for(0..9) {($x[$_] < $R && $y[$_] < $R) ? (++$D) : ();} print "Dots in radius: ".$D; } sub matrix { @data = (); for my $x(0..3) { for my $y(0..5) { print $data[$x][$y] = int(rand(100))." "; } print "\n"; } print "\n"; for my $x(0..3) { $max = $data[$x][0]; for my $y(0..5) { ($max < $data[$x][$y]) ? ($max = $data[$x][$y]) : (); } print "Line $x maximum - $max\n"; } }