まずは日付と時間取得です。http://www.w3.org/の日時フォーマットではYYYY-MM-DDで西暦も示されているらしいですが、
以下では日付と時間のみ出力する場合です。2行で済みます。
($sec,$min,$hour,$mday,$mon,$year,$wno) = localtime(time);
$time = sprintf("(%01d/%01d %02d:%02d:%02d)",$mon+1,$mday,$hour,$min,$sec);
$time
に(4/15 13:23:48)という形で代入されます。西暦を入れる場合は2行目に%04d
と$year+1900
を挿入してやればOKです。
次はIPアドレス取得です
$ip_address = $ENV{'REMOTE_ADDR'};
もし、使っているレンタルサーバーでホストネームが取得可能なサーバーならば以下の書式が可能になります。
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name;
}
参考文献: