Perlにて サーバーのIPアドレスを取得

Perlにて IPアドレスを取得したく調べたところ、
IO::Interfaceという便利なものを見つけました。
http://d.hatena.ne.jp/naoya/20080110/1199944996

ですが、標準モジュールでなく、PPMを探しても見つからず。

自分でビルドしてみましたが、Windows XP環境のためか、ビルドエラー。
勉強不足で解決方法がわからなかったのです。
そこで、愚直に Ipconfig コマンドを活用。
環境に依存しますので、汎用性のないプログラムですが、
目的を達成できました。

ポイント
ipconfig コマンドの結果を 取得
‘‘(バッククォータ)で囲むと、外部コマンドを実行できる。そのまま変数に代入できる。
@ipdata01= `ipconfig`;

結果から 必要な部分のみ抽出
substr やlength 、index などテキスト加工 関数を活用

ソース
#########################################################
#ipconfig Run & GET
my @ipdata01= `ipconfig`;

# all length
my $alllength= length $ipdata01[7] ;
#”:” length
my $target = ‘:’;
my $coronlength= 2 + index $ipdata01[7] , $target ;

my $getlength = $alllength – $coronlength;

my $ipaddress01= substr $ipdata01[7] , $coronlength, $getlength-1;

#########################################################

泥臭い方法でも実現できる、Perl。

参考、ppmのzipアーカイブ
http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/Zips

無料メルマガにぜひご登録ください

ブログより日常を書いています。
ものくろキャンプ メルマガ
購読登録フォーム
Eメール  *
お名前(姓)  *
お名前(名)  *
  • ブックマーク

【案内板】

このブログをはじめて読んだあなたへ
ぜひ読んでもらいたい記事を用意しました。

オンラインショップあります

↓ 下のバーナーをクリックすると移動します。