да с картинками уже разобрался как открывать и сохранять правильно. а вот с отправкой авы на ету долбаную фотострану не могу неделю допереть уже весь гугл перерыл
Если файл отправляется через LWP, то, насколько помнится, не нужно грузить картинку (либо другой отправляемый файл) в переменную, а следует указать путь к ней.
да уже понял. спасибо каими. мозГ перла. всегда мне подсказует когда туплю. Code: Content_Type => 'form-data', Content => [ avatar => ['./'.$nfile], ] )->as_string; оказывается нужно было убрать переменые. теперь новый вопрос. как загрузить рандомный файл из папки, как загружать файл из папки знаю. а вот как сделать чтобы оно брало рандом
Авторизация на video.yandex.ru, как?( Всем привет, написал код, авторизация на самом yandex.ru проходит нормально, но при переходе на video.yandex.ru сессия слетает, и требует заново авторизоваться. Code: use LWP::UserAgent; use HTTP::Cookies; use Cwd; $| = 1; $account = 'prunewli985:Iphagenia401605-uz'; my $my_dir = cwd; my $web = new LWP::UserAgent; my $cookie_jar = new HTTP::Cookies; $web->cookie_jar($cookie_jar); $web->agent('Opera/9.80 (Windows 7; U; en) Presto/2.9.168 Version/11.50'); $web->timeout(5); ($username, $password) = split ':', $account; my $url = 'http://passport.yandex.ru/passport?mode=auth&from=video&retpath=http%3A%2F%2Fvideo.yandex.ua%2F%23top'; my $response = $web->post($url, [login => $username, passwd => $password, twoweeks => 'yes', timestamp => '1342556786614' ]); $next = $response->header('Location'); $responce = $web->get($next); $next2 = $response->header('Location'); $responce = $web->get($next2); exit; Подскажите, что не так?
Добрый день! Мне нужно выдернуть из текста отдельные предложения, делаю это с помощью split, но выдергиваюстя только те предложения, после которых есть знак пробела, то есть если взять пример: Code: Предложения номер один. Предложение номер два.Предложение номер три. тут выдернеться только первое предложение, остальные два скрипт воспринимает как одно целое предложение. Вот регулярка, которой пользуюсь в фунцкии split: Code: /([\.\?!]+)\s*([А-Я]+)/g Думаю, что проблема в регулярке, но вот какая, не знаю
Допустим выдернутся все предложения. А модификатор g в функции split помогает или варнинги в скрипте принципиально отключены? Также интересно послушать зачем использовать круглые скобочки, если это действительно в split подставляется.
Нет, ошибки включены. А вот насчет split я перепутал, к сожалению Вот сам скрипт: Code: #! /usr/bin/perl -w open(FILE,"1.txt"); @file = <FILE>; close(FILE); $file_string = ""; foreach $data (@file) { $data =~ s/\n//; $data =~ s/([\.\?!]+)\s*([А-Я]+)/$1\n$2/g; $file_string .= $data; } open(FILE,">2.txt"); print FILE $file_string; close(FILE); Суть его в том, что он читает какой- то текст из файла; текст в файле разделен на абзацы, поэтому изначально я убираю из каждой строки символ начала строки. Далее с помощью рег. выражения в этой строке ($data) заменяется начало нового предлжения на символ конца строки, в резульатате получается строка ($file_string) из отдельных предложений, которая позже записывается в отдельный файл (2.txt). Суть в том, что в новом файле не все предложения заканчиваются символом конца строки, не понимаю, почему
Моё регулярное выражение( см. предыдущий пост ) воспримет это как предложение, если после этого предложения будет идти любая русская заглавная буква. Суть проблемы в том, что рег. выражение не работает, когда между знаком конца предложения и заглавной буквой нет пробела, хотя знак * говорит о том, что пробелов может быть от 0 и больше. Не могу никак понять, почему рег. выражение не работает
Нет, к сожалению не помогло З.ы. Решение найдено, если кому поможет: Code: use Text::ToSentences; @sentences = @{Text::ToSentences::convert($text)}; Ссылка на сурс: view
Добрый день! Опять появилась проблема В программе потребовалась поддержка многопоточнсти, при этом используется подключение к БД (MySql). Для этого был создан глобальный дескриптор подключения к БД. При использовании этого дескриптора в разных потоках вылезала ошибка, для этого я объявил этот дескрпитор вида ":shared". Но теперь выдается седующая ошибка: Code: Invalid value for shared scalar Из доков я понял, что вид ":shared" объявляется только для скаляров, а мой дескритор является объектом класса Не могу никак решить данную проблему, кроме как создать в каждом потоке свой дескриптор, но при многопоточности это более чем накладно Может в perl есть функции, подобные lock в C#? P.s. в перл есть фунцкия lock(), но при её использовании опять вылетает ошибка: Code: lock can only be used on shared values
Есть скрипт на perl без расширения .pl Как его можно запустить в винде? мейби установить какой нибудь эмулятор чего-то? Заранее благодарю за ответ.
А какое именно расширение? ) Может у вас cgi ? То его на веб сервер кидайте и запускайте через браузер. А если же просто перл скрипт то ActivePerl скачайте и запускайте )
вывод только части строки которая совпала с regex Доброго времени! 1. Как получить только ту часть строки\элемента массива, которая совпала с регуляркой. К примеру: Code: @arr = qx/\/sbin\/ifconfig | grep "inet addr:"/; foreach (@arr){ if ($_ =~ m/([\d]{1,3})\.([\d]{1,3})\.([\d]{1,3})\.([\d]{1,3})/){ print "${_}\n";} } как вывести не Code: inet addr:127.0.0.1 Mask:255.0.0.0 а только Code: 127.0.0.1 2. В данном случае весь вывод ifconfig присваивается первому элементу массива. Как разбить вывод, что бы он построчно присвоился элементам массива?