Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
|

24.07.2007, 20:10
|
|
Новичок
Регистрация: 16.07.2007
Сообщений: 21
С нами:
9905524
Репутация:
0
|
|
Подскажите вот такую весчь:
есть сайт-архив валлпаперов - babene.ru.
http://babene.ru/jpgs/2007/07/22/u14_4305.jpg - чисто адрес рисунка
нужен скрипт или намёк, который тянет с этого сайта картинки в этой директории
|
|
|

28.07.2007, 15:27
|
|
Участник форума
Регистрация: 31.08.2006
Сообщений: 149
С нами:
10365076
Репутация:
155
|
|
Подскажите, как сделать скрипт.
Нужен что то типа парсера.
Что бы из одного файла, набитого разным мусором, выгребал только 10-значные числа.
И записывал их в другой файл разделяя ";\n"
---
1234567890;
1234567890;
1234567890;
1234567890;
1234567890;
---
и удалял первые 3 цифры
---
4567890;
4567890;
4567890;
4567890;
4567890;
---
Последний раз редактировалось cylaaaan; 28.07.2007 в 16:28..
|
|
|

29.07.2007, 00:39
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
С нами:
10441826
Репутация:
1686
|
|
вот как то так
open ss,"<in.txt";
open yy,">out.txt";
while($a=<ss>){
while($a=~/[0-9]{10}/){$str=$&;$a=~s/$&//i;
$str=reverse $str;
for(1..3){chop $str;}
$str=reverse $str;
print yy "$str;\n";
}
}
close ss;close yy;
не оч элегантно но я хочу спать и туго ща соображаю -- входной файл in.txt выходной out.txt
|
|
|

29.07.2007, 00:40
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
С нами:
10489346
Репутация:
963
|
|
Код:
open(IN, 'in.txt') || die $!;
open(OUT, '>', 'out.txt') || die $!;
while(<IN>)
{
chomp;
print OUT substr($1, 3) . ";\n" foreach(/(\d{10})/g)
}
close IN;
close OUT;
UPDATE:
genom-- жесть
|
|
|

29.07.2007, 11:49
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
С нами:
10441826
Репутация:
1686
|
|
я простой сталевар я варю жесть =) -- мда чет у меня substr из головы вылетел сидел вчера ночью бумал как бкувы срезать =)
|
|
|

30.07.2007, 15:45
|
|
Новичок
Регистрация: 16.07.2007
Сообщений: 21
С нами:
9905524
Репутация:
0
|
|
Скажите, как сделать так, что бы при обходе хэша в цикле его элементы выводились в нужном порядке.
Пример:
%hash =('1'=>'1',
'2'=>'2',
'3'=>'3');
while ( ($k, $v) = each(%hash) ){
print "$k = $v \n";
}
выводит:
1 = 1
3 = 3
2 = 2
Почему? надо что бы 1,2,3
|
|
|

30.07.2007, 15:49
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
vladest проверь то же самое от 1 до 5. вроде ошибки нет=\
|
|
|

30.07.2007, 16:02
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
С нами:
10489346
Репутация:
963
|
|
Сообщение от vladest
Скажите, как сделать так, что бы при обходе хэша в цикле его элементы выводились в нужном порядке.
Пример:
%hash =('1'=>'1',
'2'=>'2',
'3'=>'3');
while ( ($k, $v) = each(%hash) ){
print "$k = $v \n";
}
выводит:
1 = 1
3 = 3
2 = 2
Почему? надо что бы 1,2,3
perldoc -f each
Код:
Entries are returned in an apparently random order. The actual
random order is subject to change in future versions of perl,
but it is guaranteed to be in the same order as either the
"keys" or "values" function would produce on the same
(unmodified) hash. Since Perl 5.8.1 the ordering is different
even between different runs of Perl for security reasons (see
"Algorithmic Complexity Attacks" in perlsec).
Через each ты не получишь в порядке объявления
|
|
|

30.07.2007, 16:03
|
|
Новичок
Регистрация: 16.07.2007
Сообщений: 21
С нами:
9905524
Репутация:
0
|
|
Сообщение от Piflit
vladest проверь то же самое от 1 до 5. вроде ошибки нет=\
4 = 4
1 = 1
3 = 3
2 = 2
5 = 5
Гг!
|
|
|

30.07.2007, 16:13
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
С нами:
10378404
Репутация:
1095
|
|
Код:
%hash =('1'=>'1',
'2'=>'2',
'3'=>'3');
foreach $k (sort keys %hash){
print "$k => $hash{$k} \n";
}
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|