データの読み込みと保管の作成 #----------------------------------------------------------- # データ読込 #----------------------------------------------------------- sub dataload() { if(!open(DAT,"$datapath$room.dat")){&error("OPEN ERROR $room.dat");} @room_datas = <DAT>; close(DAT); } #----------------------------------------------------------- # データ保管 #----------------------------------------------------------- sub datasave() { my $strname = $in{'FROM'}; my $stremail = $in{'EMAIL'}; my $stremail_1 = $in{'C1'}; my $stremail_2 = $in{'C2'}; my $strtitle = $in{'TITLE'}; my $strmsg = $in{'MESSAGE'}; my $strurl = $in{'URL'}; # my $strimg = $in{''}; my $strdelkey = $in{'DELKEY'}; my $strtime = time; my $strip = $ENV{'REMOTE_ADDR'}; my $strhost = $ENV{'REMOTE_HOST'}; my $strref = $ENV{'HTTP_REFERER'}; my $stragent = $ENV{'HTTP_USER_AGENT'}; if ($strhost eq '') { $strhost = $strip; } if ($strhost eq $strip) { $strhost = gethostbyaddr(pack('C4',split(/\./,$strhost)),2) || $strip; } if($strname eq '' or $stremail eq '' or $strtitle eq '' or $strmsg eq '' or $strdelkey eq ''){ return 1; } my ($no)=split(/<>/,$room_datas[0]); $no++; my $line="$no<>$strname<>$stremail,$stremail_1,$stremail_2<>$strtitle<>$strmsg<>$strurl<>$strimg,,,<>$strdelkey<>$strtime<>$strip<>$strhost<>$strref<>$stragent<><><>\n"; $num = unshift(@room_datas, $line); if($num>$cfg{'logmax'}){ pop @room_datas; } if(!open(DAT,">$datapath$room.dat")){&error("OPEN ERROR $room.dat");} print DAT @room_datas; close(DAT); return 0; } 細かいチェックとかは行っていませんが、こんな感じで、記事データの保管・ロードは行えます。 LINUX TOP 前ページ 次ページ
データの読み込みと保管の作成
#----------------------------------------------------------- # データ読込 #----------------------------------------------------------- sub dataload() { if(!open(DAT,"$datapath$room.dat")){&error("OPEN ERROR $room.dat");} @room_datas = <DAT>; close(DAT); } #----------------------------------------------------------- # データ保管 #----------------------------------------------------------- sub datasave() { my $strname = $in{'FROM'}; my $stremail = $in{'EMAIL'}; my $stremail_1 = $in{'C1'}; my $stremail_2 = $in{'C2'}; my $strtitle = $in{'TITLE'}; my $strmsg = $in{'MESSAGE'}; my $strurl = $in{'URL'}; # my $strimg = $in{''}; my $strdelkey = $in{'DELKEY'}; my $strtime = time; my $strip = $ENV{'REMOTE_ADDR'}; my $strhost = $ENV{'REMOTE_HOST'}; my $strref = $ENV{'HTTP_REFERER'}; my $stragent = $ENV{'HTTP_USER_AGENT'}; if ($strhost eq '') { $strhost = $strip; } if ($strhost eq $strip) { $strhost = gethostbyaddr(pack('C4',split(/\./,$strhost)),2) || $strip; } if($strname eq '' or $stremail eq '' or $strtitle eq '' or $strmsg eq '' or $strdelkey eq ''){ return 1; } my ($no)=split(/<>/,$room_datas[0]); $no++; my $line="$no<>$strname<>$stremail,$stremail_1,$stremail_2<>$strtitle<>$strmsg<>$strurl<>$strimg,,,<>$strdelkey<>$strtime<>$strip<>$strhost<>$strref<>$stragent<><><>\n"; $num = unshift(@room_datas, $line); if($num>$cfg{'logmax'}){ pop @room_datas; } if(!open(DAT,">$datapath$room.dat")){&error("OPEN ERROR $room.dat");} print DAT @room_datas; close(DAT); return 0; } 細かいチェックとかは行っていませんが、こんな感じで、記事データの保管・ロードは行えます。
#----------------------------------------------------------- # データ読込 #----------------------------------------------------------- sub dataload() { if(!open(DAT,"$datapath$room.dat")){&error("OPEN ERROR $room.dat");} @room_datas = <DAT>; close(DAT); } #----------------------------------------------------------- # データ保管 #----------------------------------------------------------- sub datasave() { my $strname = $in{'FROM'}; my $stremail = $in{'EMAIL'}; my $stremail_1 = $in{'C1'}; my $stremail_2 = $in{'C2'}; my $strtitle = $in{'TITLE'}; my $strmsg = $in{'MESSAGE'}; my $strurl = $in{'URL'}; # my $strimg = $in{''}; my $strdelkey = $in{'DELKEY'}; my $strtime = time; my $strip = $ENV{'REMOTE_ADDR'}; my $strhost = $ENV{'REMOTE_HOST'}; my $strref = $ENV{'HTTP_REFERER'}; my $stragent = $ENV{'HTTP_USER_AGENT'}; if ($strhost eq '') { $strhost = $strip; } if ($strhost eq $strip) { $strhost = gethostbyaddr(pack('C4',split(/\./,$strhost)),2) || $strip; } if($strname eq '' or $stremail eq '' or $strtitle eq '' or $strmsg eq '' or $strdelkey eq ''){ return 1; } my ($no)=split(/<>/,$room_datas[0]); $no++; my $line="$no<>$strname<>$stremail,$stremail_1,$stremail_2<>$strtitle<>$strmsg<>$strurl<>$strimg,,,<>$strdelkey<>$strtime<>$strip<>$strhost<>$strref<>$stragent<><><>\n"; $num = unshift(@room_datas, $line); if($num>$cfg{'logmax'}){ pop @room_datas; } if(!open(DAT,">$datapath$room.dat")){&error("OPEN ERROR $room.dat");} print DAT @room_datas; close(DAT); return 0; }
細かいチェックとかは行っていませんが、こんな感じで、記事データの保管・ロードは行えます。
LINUX TOP 前ページ 次ページ