#!/usr/bin/perl --
#	↑サーバーの「perl」のパスを指定。
#	駄目なら｢#!/usr/local/bin/perl5｣
#	それでも駄目ならサーバー管理者に問い合わせて下さい。

#################################################
##----------------- まが CGI --------------------
##  (C)Copyright 2001 by Chama.ne.jp
##   E-mail:master@chama.ne.jp
##   HP:http://www.chama.ne.jp
#################################################
# 免責事項、バージョン情報などはkanri.cgiを参照
#---------- ↓初期設定項目 ----------------------#
#このCGIの名前
$cgi = 'cnt.cgi';

#メルマガ配信先データファイル名
$f_file = 'def/mail.dat';

#画像ファイルの指定
$gazou[0] = 'img/0.gif';
$gazou[1] = 'img/1.gif';
$gazou[2] = 'img/2.gif';
$gazou[3] = 'img/3.gif';
$gazou[4] = 'img/4.gif';
$gazou[5] = 'img/5.gif';
$gazou[6] = 'img/6.gif';
$gazou[7] = 'img/7.gif';
$gazou[8] = 'img/8.gif';
$gazou[9] = 'img/9.gif';

#---------- ↓プログラム--------------------------------------------------#
#----------↑設定終了↓以下は修正しない。---------------------------------
&read;
#ファイルロック
&o_lock;

#メルマガ配信先データファイルを開く
&f_open;

#ロック解除
&c_lock;

$cnt_length =length $f_cnt;
#表示データの分解-------------------------
$b = 0;
while($cnt_length>=$b){
	$bunkai[$b] = substr ($f_cnt, -$b, 1);
	$b++;
}
#表示データの貼り付け
if($keta > $cnt_length){
	$img =$gazou[0];
} else {
	$hyouji = $bunkai[$keta];
	$img = $gazou[$hyouji];
}

&prev;
#サブルーチン--------------------------------------------------------------#
#WEBページからの表示指定の読込み----------------------------
sub read{
	if ($ENV{'REQUEST_METHOD'} eq "POST") {
		read(STDIN, $buff, $ENV{'CONTENT_LENGTH'});
	} else {
		$buff = $ENV{'QUERY_STRING'};
	}
	@pairs = split(/&/,$buff);
	foreach $pair (@pairs) {
		($name, $value) = split(/=/, $pair);
		$in{$name} = $value;
	}
	$mode  = $in{'mode'};
	$keta = $in{'keta'};
}
#メルマガ配信先データファイルのOPEN----------------------------------------------
sub f_open{
	$f_cnt = 0;
	open FF,"$f_file" or die "$f_file OPEN ERROR (READ)";
		while (<FF>){
			$f_cnt++;
		}
	close FF;
}
#メニューの表示----------------------------------------------------------
sub prev{
	print "Content-type: image/gif\n\n";
	open IMG, "<$img";
	binmode IMG;
	binmode STDOUT;
	while(<IMG>){
		print;
	}
	close IMG;
	exit;
}
#データロック------------------------------------------------
sub o_lock{
	open(LOCK,">data.lock");
	flock(LOCK,2);
}
#ロック解除--------------------------------------------------
sub c_lock{
	close(LOCK);
}
