我们需要通过在命令提示符处获得的表格形式的输出来匹配某个数据元素。以下是当前遵循的方法,其中$ Var包含输出。有没有一个最佳的方式做到这一点,而不是指挥命令输出到文件。匹配来自输出表的数据
请分享您的想法。
$Var = "iSCSI Storage LHN StgMgmt Name IP Name
==============================================================
0 Storage_1 15.178.209.194 admin
1 acct-mgmt 15.178.209.194 storage1
2 acct-mgmt2 15.178.209.194 storage2";
@tab = split("\n",$Var);
foreach (@tab) {
next if ($_ !~ /^\d/);
$_ =~ s/\s+//g;
$first=0 if($_ =~ /Storage/i && /15.178.209.194/);
push(@Array, $_); }
您想处理/存储第一行,如''0Storage_115.178.209.194admin''?你意识到1)你对'$ first'什么都不做? 2)它不是本地的循环,你永远不会解除它?它似乎没有做任何事情,并且在循环工作之前,一个'shift @ tab'对于#1可能获得的任何特殊行为都是如此。 – Axeman