【发布时间】:2014-01-15 04:56:29
【问题描述】:
我们的系统中有一个 perl 脚本,用于验证我们组的 IP 地址。这是由以前的开发人员开发的,我不熟悉 perl。我们有一组 IP,它们是硬编码的,并在执行操作之前进行检查。这里是代码 sn-p(example)
unless ($remoteip eq "some ip" || $remoteip eq "some IP" || $remoteip eq "xx.xx.xx.xx" )
现在我想添加另外 50 个范围内的 IP 地址(xx.xx.xx.145 到 xx.xx.xx.204) 我不想在 Unless 语句中一一添加它们,因为这会很长并且不利于编程(我认为)。有什么方法可以为 IP 地址添加 Less then 或 gratethen 语句?类似于除非($remoteip = "xx.xx.xx.145")。
谢谢。
【问题讨论】:
-
不要认为这是 相当 重复,但你见过这个 SO 问题吗? How can I generate a range of IP addresses in Perl?
-
您的问题可以改写为“地址是一个有效的 IP 地址,并以这三个八位字节开头,最后一个八位字节大于或等于 x 且小于或等于 y”。正如他们所说,实现它是一个简单的编程问题。 (一旦你想要跨越 /24 边界,事情就会变得更有趣。)
标签: perl ip-address conditional-statements