IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Скрипт для генерации порядковых чисел! (http://www.imho.ws/showthread.php?t=86852)

mitro 02.06.2005 16:24

Софт для генерации порядковых чисел!
 
Всем првет! Отличный форум.
Подскажите пожалуйста программу, с помощью которой я смогу сгенерировать лист из порядковых чисел начиная с 000000000001 до 999999999999. Большое спасибо! :yees:

Ghost 02.06.2005 16:49

mitro
Эээ... Прошу прощения... Тебе нужен просто файлик с кучей чисел? Не думаю, что есть такой специализированный софт, тем более что задача очень проста для программирования, только выполняется долго...
Код:

open (FILE, ">output.txt");
for (my $i = 1; $i <= 999999999999; $i++) {
  my $s = "000000000000$i";
  $s =~ s/(0*)(\d{12})/$2/;
  print FILE "$s\n";
}
close (FILE);

И файлик по размеру получается немаленький... Сейчас запустил этот скрипт и посмотрел: добрался до 0000130000, а файло больше 180 метров...

mitro 02.06.2005 17:55

А эт что за язык? Если не сложно, то полностью код, я просто несилён в программировании. Спасибо.

На php было бы не плохо.

Или на perl чтобы с помощью ActivePerl можно было открыть.

О! Это и есть PERL, дружище, спасибо тебе ОГРОМНЕЙШЕЕ!!!!!!! :yees: :yees: :yees:

mitro 02.06.2005 22:08

А как сделать, чтобы скрипт заходил на сайт http://www.site.ru/page.asp?сгенерённый_номер и если находит на этой странице слова "этой записи не существует" то он автоматом удалял этот "сгенерённый_номер" из файла output.txt
Буду очень благодарен!

Borland 02.06.2005 23:42

Раз пошло программирование - переношу в соответствующий раздел.

mByte 04.06.2005 14:17

Цитата:

#!/usr/bin/perl
use LWP::UserAgent;

open (FILE, "numbers.txt") || die "$!";
@dat=<FILE>;
close(FILE);

for ($c=0;$c<@dat;$c++) {
$ua=LWP::UserAgent->new;
$number=$dat[$c];
$number=~ s/\n//;
$req=new HTTP::Request('GET' => "http://www.site.ru/page.asp?$number");
$res=$ua->request($req);
if ($res->is_success) { $page = $res->content; $pag=true; } else {print "Can't get page"; $pag=false;}

if ($pag) {
if ($page=~ /этой записи не существует/) {
print "Number $number escaped\n";
$dat[$c]="";
}
} else {
exit;
}
} else {
exit;
}

open (FILE, ">new_numbers.txt");
print FILE @dat;
close(FILE);
Но тебе нужно генерить по чуть-чуть номера, ибо скрипт просто умрет, пока будет открывать файл со всеми номерами.


Часовой пояс GMT +4, время: 18:36.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.