我正在提取MAC地址
my @tmp = split / /, "domain (123.123.123.123) at 00:11:22:33:44:55 [ether] on eth0";
my $vip = $tmp[3];
Run Code Online (Sandbox Code Playgroud)
但是可以在不使用临时变量的情况下完成吗?
Tot*_*oto 16
是的,它可以:
my $vip = (split / /, "domain (123.123.123.123) at 00:11:22:33:44:55 [ether] on eth0")[3];
Run Code Online (Sandbox Code Playgroud)
mob*_*mob 13
my (undef, undef, undef, $vip) = split / /, "...";
Run Code Online (Sandbox Code Playgroud)
我会推荐这种方法,它在大海捞针的字边界处寻找一个"正确"的MAC地址.如果MAC地址在字符串中移动,它仍然可以工作,如果$vip在此语句后没有定义,则没有找到MAC地址.如果我能澄清任何事情,请告诉我.
my ($vip) = "..." =~ /\b((?:[0-9A-Fa-f]{1,2}[:-]){5}[0-9A-Fa-f]{1,2})\b/;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |