如何对 IP 地址列表进行排序并计算每个地址的类别和网络掩码? [关闭]

2024-03-31

我有两个选择。一是我有一个包含 IP 列表的数组。例如

 my @Ip=();  # array that has the IPs below in it

输入示例:


108.0.0.30
108.0.0.30
108.0.0.30
192.168.1.1
192.168.1.2
10.0.0.1  

我需要一个程序可以对这样的数组进行排序并告诉它是哪个网络类和子网掩码。例如,输出应该是这样的


10.1.1.1/25                          10.1.1.1 is ip and 25 is submask  

Net::IP http://search.cpan.org/dist/Net-IP/IP.pm, Net::IP::Resolver http://search.cpan.org/~adamk/Net-IP-Resolver-0.02/lib/Net/IP/Resolver.pm, Net::IP::Match::Regexp http://search.cpan.org/~cdolan/Net-IP-Match-Regexp-1.01/lib/Net/IP/Match/Regexp.pm和其他子模块来自Net::IP正在为你做这件事。仅排序部分就很困难。但如果你用谷歌搜索,你会发现一些不错的方法。例如:

my @ips = qw(
    172.27.32.200
    172.19.32.100
    10.1.1.60
    192.20.30.133
);

@ips = map {s/\s+//g; $_} sort map {s/(\d+)/sprintf "%3s", $1/eg; $_} @ips;

print join "\n", @ips;

在这里找到 http://bytes.com/topic/perl/answers/655019-how-sort-ip-address-using-perl-script#post2598599

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对 IP 地址列表进行排序并计算每个地址的类别和网络掩码? [关闭] 的相关文章

  • 我应该如何使用 Mojo::UserAgent 处理 HTML META 标记?

    我必须处理一些配置错误的 Web 服务器 因此我开始处理 HTML 元标记以将信息反馈到 Web 用户代理对象中 我尝试了多种方法来做到这一点莫乔利西斯 http mojolicio us并决定在响应中寻找 完成 事件 我的目标是让其余代码
  • 通过 perl 脚本使用代理

    我想在这个 perl 脚本中使用代理 但我不知道如何让它使用代理 usr bin perl use IO Socket remote IO Socket INET gt new Proto gt tcp PeerAddr gt localh
  • 如何以 OO 风格打开管道?

    我用新风格重写了旧代码 如下所示 old style open FD file new style fh IO File gt new file r 文件没问题 但我不知道如何打开管道 read from pipes open PIPE s
  • 我无法使用 LWP::UserAgent 连接到任何 HTTPS 站点

    我正在尝试创建一个仅连接到网站的脚本 但是 由于某种原因 它不会连接到使用 HTTPS 的任何内容 我们在这里启用了代理 但是 我相信代理不是问题 因为如果我要连接到网络内部不通过代理建立隧道的 HTTPS 它仍然会失败 如果我要在任何不使
  • 在 Perl 中使用 POSIX ceil() 出现意外结果

    我一生都无法弄清楚为什么以下会产生这样的结果 use POSIX my g 6 65 my t g 4 my r t g my n r g my c ceil n print c n n 我知道印记太棒了 抱歉 我已经为我的应用程序解决了这
  • Perl 初学者:如何查找/替换文件中的 ASCII 字符?

    我对 Perl 完全陌生 我认为这将是解决我的简单任务的最佳语言 我需要将二进制文件转换为可读的文件 并且需要查找和替换字符串 例如 x00 x39 into x09 选项卡 或类似的东西 从 bash 开始 我从以下内容开始 效果很好 p
  • 如何删除 XML::Simple 输出中的 标记?

    我正在使用 Perl 创建一个 XML 文件 XML 简单 http search cpan org dist XML Simple模块 我成功创建了 XML 文件 但问题是我遇到了
  • jQuery JSON 请求得到“200 OK”答案,但没有内容

    我正在使用 jQuery 通过访问者的 IP 地址获取其位置 有一项很棒的服务叫做免费地理IP http freegeoip appspot com 我需要做的就是在 URL 末尾添加 json 或 xml 然后添加 IP 地址 它将返回所
  • 在 Perl 中验证电子邮件的正则表达式

    我是 Perl 新手 正在尝试掌握脚本语言 其中我遇到了正则表达式来验证电子邮件地址 我正在分享 perl 脚本 我不确定我在哪里犯了错误 部分始终被省略 随后正确的电子邮件 ID 也显示为无效 这是代码 usrs bin perl str
  • Perl Regex:如何从 CSV 行中删除引号内的引号

    我从 CSV 文件中得到了一行 作为场围场和 作为字段分隔符作为字符串 有时有 在打破场围的数据中 我正在寻找一个正则表达式来删除这些 我的字符串看起来像这样 my csv qq 123456 024003 Stuff 28 stuff w
  • 如果公司使用 C++、C# 或 Java 作为应用语言,为什么还要学习 Perl、Python、Ruby? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道为什么 C C Java 开发人员想要学习动态语言 假设公司不会将其主要开发语言从 C C Java 切换到动态语言 那么动态
  • 从 Perl 脚本 DBI 关闭 MSSQL 服务器

    我正在写一个 perl 脚本 其中我必须关闭我的 mssql 服务器 做一些操作 然后我必须重新启动它 我知道一种方法是使用 netstat 来停止服务 但我不能使用它 所以我尝试安装 DBI 和 DBD ODBC 模块 我可以通过以下代码
  • 如何在 Perl 中使用数组引用中的索引作为方法引用?

    如同这个关于迭代子例程引用的问题 https stackoverflow com questions 452529 how do i iterate over dereference an array of subroutine refs
  • perl生成字符串来匹配正则表达式

    我尝试找到一种方法来生成与正则表达式匹配的字符串 例如以下正则表达式 A Z 6 6 A Z2 9 A NP Z0 9 A Z0 9 3 3 0 1 我尝试过 Cpan 上的一些 perl 模块不起作用 gt 字符串 随机 gt 正则表达式
  • 当一个模块安装了两个版本时 Perl 会做什么?

    我在正在使用的远程机器上没有 root 访问权限 因此我使用 cpanm 和 local lib 的组合 如下所述here https stackoverflow com a 2980715 1156644将 CPAN 模块安装到我的本地目
  • INET6_ATON 的替代 MySQL 代码

    将旧的 INET ATON 值转换为新的二进制 INET6 ATON 值 无需 INET6 ATON INET6 NTOA 我们在表中已有数据 字段类型为UNSIGNED INT其中保存了使用以下命令创建的 IPv4 数据INET ATON
  • 如何从 Perl 中的字符串中去除无效的 XML 字符?

    我正在寻找一种标准的 经过批准的 可靠的方法 可以在将字符串写入 XML 文件之前从字符串中删除无效字符 我在这里讨论的是包含退格键 H 和换页符等的文本块 There has成为执行此操作的标准库 模块函数 但我找不到它 我在用着XML
  • 如何拆分一行并重新排列其元素?

    我在一行中有一些数据 如下所示 abc edf xyz rfg yeg udh 我想呈现如下数据 abc xyz yeg edf rfg udh 以便打印备用字段并用换行符分隔 有没有这样的衬里 下列awk脚本可以做到这一点 gt echo
  • 如何计算两个ip之间的主机数量? C#

    我有两个ip 1 1 1 1 1 2 4 4 4 4 显然这只是一个例子 这是一个动态计算器 如果子网掩码不相关 我如何计算所述 ip 之间的主机数量 要计算 理论 IP 地址的数量 您需要将每个 IP 地址转换为其 32 位整数格式 这实
  • 从 Perl 中的字符串中删除标点符号

    如何从 Perl 中的字符串中删除除空格之外的所有标点符号 s punct g

随机推荐

  • Tibco 错误:ClassNotFoundException:com.tibco.tibjms.naming.TibjmsInitialContextFactory

    我正面临这个问题 我使用以下配置 本地 tibco 测试了 tibco 它可以工作
  • 如何生成随机 Base36 ID

    有没有办法生成random Base36 标识符 http en wikipedia org wiki Base 36在 SQL Server 中是否有定义的字符数 我搜索并找到了许多将基数 36 转换为 int 的示例 反之亦然 但没有找
  • SPARQL - 查找具有最相似属性的对象

    假设有一个人的 RDF 数据库 每个人都有许多三元组来定义这个人的朋友 这么多 person x hasFriend otherPerson 如何找到拥有最相似朋友的人 我是 SPARQL 的新手 这似乎是一个非常复杂的查询 基本上 结果将
  • 如何创建批处理文件计时器来全天执行/调用另一个批处理

    如何创建一个批处理文件计时器来在一天中执行 调用另一个批处理 也许在给定的时间运行但不在周末运行 必须在系统上运行也可以 cmd在xp server 2003上运行 对于脚本的计时器部分 我强烈建议使用 echo echo Waiting
  • 在 IntelliJ IDEA 中从多个模块一起运行单元测试

    如何同时运行两个或多个 IDEA 模块中的所有测试 我正在使用许多模块 经常运行所有单元测试非常重要 当我选择多个文件夹来运行时 上下文菜单上不再有 运行 选项 最好的方法方法 3年后编辑 甚至还有更好的方法来实现这一目标 来自JetBra
  • 通过简单的产品 URL 预先选择可配置的产品选项

    如果请求的网址用于简单产品 如何显示带有预选选项的可配置产品 例如 简单的产品 1 has Color Red URL simple red html 简单的产品 2 has Color Green URL simple green htm
  • ASP.NET - 使用 UpdatePanel 内的 ListView 内的 LinkBut​​ton 触发异步回发

    好吧 我的第一篇文章 我希望标题有意义 我有一个更新面板 里面有一个文件上传控件 带有一个触发上传的按钮 在它下面 我有一个 ListView 它与上传的文件列表数据绑定在后面的文件中 更新面板有一个 PostBackTrigger 指向上
  • 在 Outlook 加载项中以 MIME 格式 (*.eml) 保存邮件

    我想编写一个小 Outlook 插件 C 它将选定的邮件 MailItem 以纯 MIME 格式 eml 保存到磁盘 MailItem SaveAs 方法仅允许以 msg 格式保存 还有其他 简单 方法可以将邮件保存为 eml 格式吗 我想
  • Rails 图像标签中的多个图像

    我想知道是否可以将数组传递给 Rails 图像标签 该数组将包含一系列 png 图像 我希望视图能够旋转显示这些图像 有谁知道这是怎么做到的吗 这是行不通的 div class img circle div 我似乎找不到说明 rails 指
  • 如何获取 nautilus 用于给定文件的缩略图?

    Nautilus 向我显示文件的缩略图 如果它是图像 它会向我显示预览 如果它是视频 它会显示视频中的帧 如果它是文档 它会向我显示应用程序图标 我如何访问该图像 我看到它们被缓存在 thumbnail 然而 它们都被赋予了独特的名字 缩略
  • 寻找最小组件集合的算法

    我正在寻找一种算法来解决以下问题 我有给定集合 a h 的多个子集 1 n 我想找到最小的子集集合 它允许我通过组合来构造所有给定的子集 该集合可以包含 1 n 中尚不存在的子集 a b c d e f g h 1 1 2 1 1 3 1
  • 状态栏在 ionic 3 中不起作用

    我是 IONIC 3 的新手 我只想在我的应用程序中实现状态栏 我尝试了以下方法 import App Nav Platform Events AlertController from ionic angular import Status
  • 在 iframe 加载之前运行脚本

    我正在使用嵌入在应用程序中的帮助系统 帮助的重要部分尝试具有相同的 document domain 值 但子 iframe 似乎在父 iframe 之前运行其 document domain 设置 这是一个问题 因为它会引发安全错误并停止
  • 无法注册 PS 图库

    我读了很多论坛并尝试了很多东西 但我就是无法添加PS图库 我使用公司代理 但我已设置我的个人资料以使用它 我正在尝试使用这些命令注册 PS 存储库 Net ServicePointManager SecurityProtocol Net S
  • bash 如何处理嵌套引号? [复制]

    这个问题在这里已经有答案了 我需要使用如下语法运行命令 runuser l userNameHere c path to command arg1 arg2 不幸的是 我必须嵌套额外的 字符到命令本身中 我无法告诉 bash 正确解释这些字
  • Web:我什么时候应该考虑使用 Java 而不是 PHP、Python/Django、Ruby/Rails 等?

    如果收集中型到大型基于 Web 的项目的需求 在什么时候应该考虑使用基于 Java 的后端 JSP 等 而不是 PHP Python 或 Ruby 等脚本语言 听到 使用正确的工具 Java 什么时候是基于 Web 的项目的正确工具 什么是
  • 性能:条件测试与分配

    我创建了一个循环 其中使用变量来测试循环的当前运行是否是第一个循环 它相当简单 firstrun true while condition if firstrun Do this else Do that Change firstrun t
  • 未安装模拟器 - Android Studio

    我的 android studio 工作正常 有点慢 但工作正常 但是当我几天前启动它并尝试运行时 它开始向我显示错误 未安装模拟器 请帮我 找不到任何合适的解决方案 不用担心 只需打开 SDK Manager 在 Android Stud
  • Runtime.getRuntime().availableProcessors() 在容器优化操作系统上始终返回 1

    我正在 GCP 上的 kubernetes 引擎上部署 Elasticsearch 但遇到了性能问题 Elasticsearch根据核心数量确定各种线程池的大小 尽管我创建了一个 32 核 VM 但线程池大小仅为 1 我确实编写了一个测试程
  • 如何对 IP 地址列表进行排序并计算每个地址的类别和网络掩码? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有两个选择 一是我有一个包含 IP 列表的数组 例如 my Ip array that has the IPs below in it