package Tool;
# Last Modified: Sat Mar 30 10:49:48 JST 2002
use strict;
use Jcode;
sub error{
my($package, $filename, $line, $sub);
($package, $filename, $line) = caller(0);
(undef , undef , undef, $sub) = caller(1);
my $hist1 = join(" : ", caller(1));
my $hist2 = join(" : ", caller(2));
my $hist3 = join(" : ", caller(3));
my $hist4 = join(" : ", caller(4));
# ファイル名を生成
my $dir = $ENV{SCRIPT_NAME};
$dir =~ s#[^/]*$##;
$dir =~ s#/cgi-bin/p2##;
$dir = "/export/home/lnet/cgi-bin_p2$dir";
$filename = "$dir$filename" unless $filename =~ m#^/#;
print Jcode::convert(<<EOF, 'sjis');
Content-Type: text/html
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>エラー</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>エラー</H1>
<HR>
<P>
ブラウザの「戻る」ボタンを押してやり直して下さい。<BR>
(解決しない場合はシステム管理者に相談してください)。
</P>
<FORM>
<DL>
<LI>理由: @_
<LI>Location:
<DL>
<LI>at file ``<TT><B>$filename</B></TT>''
<LI>line <TT><B>$line </B></TT>
<LI>in subroutine ``<TT><B>$sub</B></TT>''
<LI>where ``<TT><B>$package</B></TT>'' package.
<LI>To Edit:<INPUT TYPE=TEXT SIZE=80 VALUE="vi +$line $filename">
</DL>
<LI>\$!: $!
<LI>\$\@: $@
</DL>
</FORM>
</BODY>
</HTML>
EOF
print <<EOF;
<LI>$hist1
<LI>$hist2
<LI>$hist3
<LI>$hist4
EOF
exit;
}
1;
__END__
=head1 NAME
Tool - 汎用ツール
=head1 SYNOPSIS
&Tool::error("error message", "error message2"..);
=head1 DESCRIPTION
詳細なエラーを返します。
=cut