|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Vikentiy Trofimov 2:463/482.12 17 Nov 2000 03:19:40 To : All Subject : Я б не спрашивал, но уже больше недели мучаюсь... -------------------------------------------------------------------------------- Hужна своеобразная рассылка - я ввожу адреса, из них выбираются уникальные и добавляются в базу. Как дальше сделать рассылку - я знаю. Hе получатся проверить на уникальность (кажется проблемы с последними символами). В форме адреса вводятся через enter, в elist они так же сохраняются, но что-то здесь не так (глючит...) ========================== #!/usr/local/bin/perl -w $|=1; use CGI qw/:standard/; if ($ENV{'REQUEST_METHOD'} eq "POST") {read(STDIN, $query, $ENV{'CONTENT_LENGTH'})} if ($ENV{'REQUEST_METHOD'} eq "GET") {$query = $ENV{'QUERY_STRING'}} print "Content-type: text/html\n\n"; $answer="good"; print <<HTML; <html> <head><title>Adding e-mail addresses</title> </head> <body bgcolor="white"> <form action=\"maillist.pl\" method=post> <textarea name=newemails colls=50 rows=10> </textarea> <br><center> <input type=submit name=submit value=Submit> </center> </form> HTML @pairs = split(/&/, $query); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } chomp $FORM{'newemails'}; @newemails = split "\n", $FORM{'newemails'}; $newnum=0; $oldnum=0; while ($newemails[$newnum] ne '') { $oldnum=0; open (ELIST,elist); chop; @oldemails=<ELIST>; close ELIST; while ($oldemails[$oldnum] ne '') { if ($oldemails[$oldnum] eq $newemails[$newnum]) {$answer="bbad"; $oldnum++;} else {$oldnum++} } if ($answer eq "good") { &ok; $newnum++} else {$newnum++; $answer="good"} } sub ok { $oldemails[$oldnum]=$newemails[$newnum]; open (ELIST,">elist"); $oldnum=0; while ($oldemails[$oldnum] ne '') { print ELIST $oldemails[$oldnum]; $oldnum++; } close ELIST; $newnum++; $answer="good"; } === ... а здесь он заканчивается === WBR, Vikentiy 17 ноября 2000 года --- * Origin: А как чайник в женском роде? :) (2:463/482.12) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/33213a1496ae.html, оценка из 5, голосов 10
|