#!/usr/bin/perl require 'jcode.pl'; ###################JOYGLE MAIL MAGAZINE Ver1.4######################### # # http://www.joygle.com/ # ###################設定############################################### $usrdata = "usr.dat"; #読者リスト $backurl = "http://www.roitime.com"; #登録後に戻るURL ##################ここで設定は終わり################################## if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'}); } else { $QUERY_DATA = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$QUERY_DATA); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s//>/g; $value =~ s/\,/,/g; &jcode'convert(*value,'sjis'); $QUERY{$name} = $value; } if($QUERY{'mode'} eq "IN"){&readeradd;} elsif($QUERY{'mode'} eq "OUT"){&readerdel;} else{print "Location: $backurl\n\n";} #-------------------------メイン-------------------------------- sub main { &header; print<<"EOM";






$_[0]
ウィンドウを閉じる



配信:スマートシステム







EOM &footer; exit; } #-------------------------読者リスト読み込み-------------------------------- sub readerload { open(LOG,"$usrdata"); flock(LOG,2); @readerlist = ; flock(LOG,8); close(LOG); } #-------------------------読者削除-------------------------------- sub readerdel { if ($QUERY{mail} eq "" || $QUERY{'mail'} !~ /(.*)\@(.*)\.(.*)/) {&main("メールアドレスが未記入です");} &readerload; $value = "$QUERY{mail}"; foreach $list (@readerlist) { $newlist = $list; $newlist =~ s/\n//g; $newlist =~ s/\r//g; if($newlist eq $value){$find = 1;} else{push(@newreaderlist,$list);} } open(LOG,">$usrdata"); flock(LOG,2); print LOG @newreaderlist; flock(LOG,8); close(LOG); if($find){&main("メールアドレス$QUERY{mail}をご購読解除しました");} else{&main("メールアドレス$QUERY{mail}は登録されていません");} } #-------------------------読者登録-------------------------------- sub readeradd { if ($QUERY{mail} eq "" || $QUERY{'mail'} !~ /(.*)\@(.*)\.(.*)/) {&main("メールアドレスが未記入です");} &readerload; foreach $list (@readerlist) { $newlist = $list; $newlist =~ s/\n//g; $newlist =~ s/\r//g; if($newlist eq $QUERY{mail}){&main("メールアドレス$QUERY{mail}は既に登録済みです");} } $value = "$QUERY{mail}\n"; push(@readerlist,$value); open(LOG,">$usrdata"); flock(LOG,2); print LOG @readerlist; flock(LOG,8); close(LOG); &main("メールアドレス$QUERY{mail}を登録しました
ご購読登録ありがとうございました"); } #-------------------------ヘッダー---------------------------------- sub header { print "Content-type: text/html\n\n"; print < EOM } #-------------------------フッター---------------------------------- sub footer { print <
EOM }