не работает так, out.txt пустой. Code: $_=~ /\$slovo\[\]='(.+?)'/; цель:удалить - $slovo[]='' везде где это встречается.
[none], если у тебя в папке со скриптом имеется файл "dir.txt", который содержит следующее: Code: $slovo[]='lololol' $slovo[]='agagag' $slovo[]='авыаы' то вышепредставленный мною скрипт создаст файл "out.txt" с содержанием: Code: lololol agagag авыаы проверено и уже перепроверено... Смысл скрипта в том, чтобы из каждой строчки вытащить часть текста, стоящую между $slovo[]=' и ', а не в том, чтобы удалить $slovo[]='...', помоему одной заменой не получится это сделать, но для примера файла "dir.txt", который ты выложил мой вариант более оптимальный...
заводишь счетчик отчеканных проксей, после каждоко check'а счетчик прочеканных делишь на кол-во всех проксей, умножаешь на 100, в конце дописываешь '%' и выводишь, допустим через каждые 10 проксей типа: PHP: $all = 16845;#допустим, у нас 16845 проксей:) $checked = 0;#счетчик #тут код реализации check($proxy);#функция - чекер(в ней счетчик должен увеличиваться! $checked++) $result = ($checked/$all) * 100;#вычисляем... $result = "Progress: ".$result."%";#...формируем... print $result;#...и выводим
хорошо. но когда нужно отчекать аки какогото сайта. все время в рунчую считать количество? можно чтобы дельфи сам подщитывал сколько всего аков. когда загружает их в масив
2 de_angelo flush(); причем тут Delphi? чтобы получить кол-во проксей в массиве $proxy, используй $all = $#proxy;
извиняюсь. просто паралельно осваиваю дельфи и перл. и оговорился . почемуто вылазит ошибка и потоки прирываются мой код PHP: $all = @mails; $checked = 0;#счетчик код check(@mails); $result = ($checked/$all) * 100; $result = "Progress: ".$result."%"; print $result;
единственное что я разобрал со скрина, это то, что поток прерван потому что встретил необъявленную функцию
PHP: my $checked = 0;#счетчик; my @mails : shared = lf($mails_file); my $all = @mails; threads->new(\&main) for 1 .. $threads; $_->join for threads->list; sub main { my $ua = LWP::UserAgent->new(timeout => 35, cookie_jar => new HTTP::Cookies, agent => agent()); while(@mails) { код if ($resp =~ "Redirecting... If browser do not redirect you automaticaly") { код } else { код } $checked++; } my $result = ($checked/$all) * 100;#вычисляем... $result = "Progress: ".$result."%";#...формируем... print "$result\n";#...и выводим } показывает все вермя 1.5568368239% или 3.54390929% и он после каждой строки идет. как сделать чтобы он фиксировано висел под строками как на скрине
ты вначале объявил $checked как my, значит в функции ее не видно, и еще она не объявлена как shared. на сколько я знаю, никак.
если обявлять просто $checked тогда 3.54390929% оно так и есть, 1\105 * 100 если как му $checked тогда постоянно ноль. нои когда обявляеш $checked то значения только 1.5568368239% или 3.54390929% до 100% не доходит. можеш пример рабочего кода показать? хм.. ну скрин одного софта который продают. кактоже сделали)
на счет того, как сделать строку внизу Code: print "[ + ] ".$acc." - ".$pass."\nProgress: ".$result."%\r" и все это в цикле
PHP: #!usr/bin/perl $checked = 0; @arr = qw(one two three four five six seven eight nine ten); $all = @arr; for $line(@arr) { print $line; $checked++; $prog = ($checked/$all) * 100; print " Progress is ".$prog."%\n"; } а насчет скрина они либо сфоткали только часть выполненной программы, либо они делали системную перерисовку консоли, но тогда бы это жутко мерцало UP: насчет фиксации прогрессбара: т.к. в консоли windows 25 строк, то можно сделать "постраничный" вывод циклом, т. е. 24 строки выводить прокси а 25-ой строкой вывести Progress. PHP: #!usr/bin/perl $checked = 0; @arr = 0..100; $all = @arr; $i = 0; sub check { $checked++; } for $line(@arr) { check(); if($i<24) { print $line."\n"; $i++; } else { $prog = ($checked/$all) * 100; print "Progress is ".$prog."%\n"; $i = 0; } } print "Complete"; как-нибудь так
Code: my $result = ($checked/$all) * 100;#вычисляем... $result = "Progress: ".$result."%";#...формируем... print "$result\n";#...и выводим попробуй перенести этот кусок внутрь while после checked++;
есть папка, нужно все файлы находящиеся в ней переименовать в 1.txt, 2.txt и т.д. вот мои наработки, но ничего не выходит: Code: #!usr/bin/perl opendir CD, "/home/jorik/111"; @a = readdir CD; $b = '1.txt'; foreach $file (@a) {rename ($file, "$b++"); }
пробывал всеравно бред. полное количество строк щитает отлчно. а то с щетчиком проблема сдедал print $checked , постоянно 0-1-2 больше не поднимается PHP: my $checked = 0;#счетчик; sub main { код while(@mails) { if($proxy_mode eq 'ON') { until(proxy($ua)){} } код авторизация на сайте my $result = ($checked/$all) * 100;#вычисляем... $result = "Progress: ".$result."%";#...формируем... if ($resp =~ "Redirecting... If browser do not redirect you automaticaly") { код print "[ + ] $login;$pass;money=$money\n$result\r"; $checked++; } else { $checked++; print "[ - ] $login;$pass\n$result\r"; } print $checked; }
Вопрос тупой...Написали мне скрипт на перле, сказали можно запустить через хостинг - подскажите хостинг с перлом и как его запускать