在perl中使用系统命令查找DNS服务器IP地址

在perl中使用系统命令查找DNS服务器IP地址,perl,Perl,我试图从命令提示符获取我的dns服务器ip地址,但无法获取它 my @ip1 = `ipconfig/all`; open(my $fh, '>file.txt') or die "Couldn't open file file.txt, $!"; print $fh @ip1; close($fh); my $row; foreach (@ip1) { if($_ =~ m/DNS Servers/) { # print "$_";

我试图从命令提示符获取我的dns服务器ip地址,但无法获取它

my @ip1 = `ipconfig/all`;
open(my $fh, '>file.txt') or die "Couldn't open file file.txt, $!";
print $fh @ip1;
close($fh); 

my $row;
foreach (@ip1)
{

    if($_ =~ m/DNS Servers/)
     {  
        # print "$_";    
        $row = split(/:/,$_,1);
        print "$row\n";

     }

}
输出:
1

1

首先
ipconfig
是一个字符串文本

您希望执行该命令并将输出存储在数组中。所以你应该知道这两者的区别

系统将执行该命令并显示结果。结果不能存储到任何变量中

backtick
qx
将执行命令,其结果能够存储到变量中

所以你的脚本应该是

my @ip1 = `ipconfig`;
print "ip information is @ip1"; 

在这个程序中,“ipconfig”是一个字符串文字,这意味着你必须像我在这句话前面所做的那样引用它。在这里发布之前,你需要尽可能地学习和理解你正在做的事情。这不符合最低标准。更多详细信息