Perl 获得IP与SHELL获得IP 区别 的疑问

Perl 获得IP与SHELL获得IP 区别 的疑问

在Shell中,

[Copy to clipboard] [ - ]
CODE:
$IP=`/sbin/ifconfig | sed -n 2p | awk '{print $2}'| awk -F: '{print $2}'`;

能够的到本机的IP
但是在Perl中

[Copy to clipboard] [ - ]
CODE:
$IP=`/sbin/ifconfig | sed -n 2p | awk '{print $2}'| awk -F: '{print $2}'`;

得到的效果和

[Copy to clipboard] [ - ]
CODE:
$IP=`/sbin/ifconfig | sed -n 2p `;

相同

为什么后面两个awk没有起作用???
因为 $2 被扩展了。

实际上我强烈反对在 Perl 中调用 shell 命令。
CPAN 上有 N 多的模块可以取 IP,没必要再过滤 shell 命令了。
呵呵。perl没有现成的函数,或默认安装的模块(perl5.8.8 ),来取ip,为了方便,所以我用ip route ls来取。哈哈,不为别的,就图方便~~~


QUOTE:
原帖由 79hy 于 2008-3-5 13:29 发表
呵呵。perl没有现成的函数,或默认安装的模块(perl5.8.8 ),来取ip,为了方便,所以我用ip route ls来取。哈哈,不为别的,就图方便~~~

怎么会没有呢。