ホスト名からIPアドレスを取得(gethostbyname)
#! /usr/local/bin/perl # フォームデータ取り込み read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); foreach $pair (split(/&/, $query)) { ($key, $value) = split(/=/, $pair); $value =~ tr/+/ /; $FORM{$key} = $value; } # ホスト名からIPアドレスを取得 if($FORM{'host'}) { @addr = unpack("C4", gethostbyname($FORM{'host'})); $addr = join(".", @addr); if(!($addr)) { $addr = "取得できませんでした。"; } } # HTML出力 print qq(Content-type: text/html; charset=Shift_JIS\n\n); print <<END; <html> <head> <title>ホスト名からIPアドレスを取得</title> </head> <body> <center> <form name="form" action="$ENV{'SCRIPT_NAME'}" method="POST"> <h1 style="font-size:18px">ホスト名からIPアドレスを取得</h1> ホスト名:<input type="text" name="host" value="" size="30"> <input type="submit" value="IPアドレス取得"> </form> END if($FORM{'host'}) { print <<" END"; <big style="padding:3px;border:solid 2px #f33"> IPアドレス: $addr </big><br> END } print <<END; </center> <br><br><br><br><br> <center><a href="/">トップページへ</a></center> </body> </html> END exit;
〔 実行する 〕