hostname は Sys::Hostname の hostname()
ip は IO::Interface::Simple でとればいいんじゃね
Windows だとどうなるか知らないけど
あと、手元の環境では、IO::Interface::Simple だと
IPの振り方によっては2つ目以降のIPを取れないことがあるっぽい