`

perl地址转换

    博客分类:
  • perl
 
阅读更多

#!/usr/bin/perl -w


#### 将十进制数转换成8为二进制
sub dectobin {
substr(unpack("B31",pack("N",shift)) , -8);
}


#### 将32位二进制转换成十进制
sub bintodec {
unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}


#### 将二进制表示的 IP/子网掩码转换成十进制形式
sub ipmask_bin2dec {
my $prefix = "";
my $result;
map { $result .= $prefix . &bintodec($_); $prefix = ".";
} split (/\./,shift);
return $result;
}


#### 将十进制表示的 IP/子网掩码转换成二进制形式
sub ipmask_dec2bin {
my $prefix = "";
my $result;
map { $result .= $prefix . &dectobin($_); $prefix = ".";
} split (/\./,shift);
return $result;
}


#### 将 CIDR 表示的子网掩码转换成十进制形式
sub ipmask_cidr2dec {
my $cidr_num = shift();
return if ($cidr_num < 0 || $cidr_num > 32);


(my $mask = 1 x $cidr_num . 0 x (32-$cidr_num)) =~
s/(\d{8})(\d{8})(\d{8})(\d{8})/$1.$2.$3.$4/;
print "#####$mask####\n";


return &ipmask_bin2dec($mask);
}


my $dec_ip = "192.168.2.1";
my $dec_mask = "255.255.255.128";
my $cidr_num = 25;


#my $bin_ip = &ipmask_dec2bin($dec_ip);
#my $bin_mask = &ipmask_dec2bin($dec_mask);
my $bin_mask2 = &ipmask_cidr2dec($cidr_num);
my $test = &dectobin(32);


print "Decimal IP: $dec_ip\n";
print "Binary IP: $bin_ip\n";
print "Decimal Netmask: $dec_mask\n";
print "Binary Netmask: $bin_mask\n";
print "CIDR Netmask: $cidr_num = $bin_mask2\n";


分享到:
评论

相关推荐

    perl工程单位转换计算器

    perl工程单位转换计算器

    perl2exe转换工具

    perl2exe,转换工具,需要的抖动的

    用perl进行word到html的转换

    如果想支持批量处理,请直接修改perl代码。 代码参考:www.ngbdigital.com/perl_ole_word.html

    PERL编程24学时教程.pdf

    第一部分 Perl基础 第1学时 Perl入门 3 1.1 安装Perl 3 1.1.1 等一等,也许你已经安装了Perl 4 1.1.2 在Windows 95/98/NT上安装Perl 5 1.1.3 在UNIX上安装Perl 6 1.1.4 在Macintosh系统上安装Perl 7 1.2 文档资料 7 ...

    PERL语言编程

    很多人用 Perl 进行快速处理那些很难分析或转换的大批量数据,不管你是处理 DNA 序列,网页,还是猪肚皮的未来都无所谓。实际上,在 Perl 社区有一个笑话就是,下次股市大崩盘就很有可能是呢个家伙写的脚本里头有...

    hex文件格式到memory的mif文件格式的转换的perl脚本

    如果将代码和NC或modelsim等仿真工具一起仿真时,需要将这些文件转换成memory的mif文件,由于找了很久都没找到相关的转换工具或脚本,所以自己写了一个perl脚本,经过调试,转后以后的文件是能够正确使用的。

    高阶Perl-用程式转换程式Higher-Order Perl - Transforming Programs With Programs

    引入了强大的编程方法-大多数Perl程序员都不熟悉-并展示了如何改进日常程序。 还包括许多引人入胜的代码示例,以说明这些方法。

    perl2exe v9.1特别版

    可以将perl转换为exe文件的工具,版本9.1. 将用perl编写的小工具转换为exe可执行文件,方便快捷。

    perl_Perl_

    读取源文件,将字母大小写转换,最后输出一个新文件

    Perl-Mogrify:使用插件系统将Perl5代码转换为Perl6

    Perl :: ToPerl6-将Perl5代码转换为Perl6 概要 perlmogrify source.pl 描述 Perl :: ToPerl6是用于将Perl5代码转换为Perl6的可扩展框架。 该框架应归功于Jeffrey Thalmer和Perl :: Critic,因为其来源几乎完全是源于...

    Perl2exe v10.10和注册机 windows 版本

    Perl2exe是一个将Perl脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装Perl而在windows系统上运行这个可执行程序。 附件:Perl2exe v10.10和注册机 注册机支持 Perl2exe v08.01 -- ...

    perl2exe V24.00

    支持Perl 5.24.1 版本,解压后把该路劲添加到环境变量中。使用方式:在cmd中输入: perl2exe myscript.pl This will convert a script named myscript.pl to myscript.exe.

    PERL编程24学时教程

    第一部分 Perl基础 第1学时 Perl入门 3 1.1 安装Perl 3 1.1.1 等一等,也许你已经安装了Perl 4 1.1.2 在Windows 95/98/NT上安装Perl 5 1.1.3 在UNIX上安装Perl 6 1.1.4 在Macintosh系统上安装Perl 7 1.2 文档资料 7 ...

    Perl5语言全教程

    四、标量转换函数 五、数组和列表函数 六、关联数组函数 第二部分 Perl的CGI应用 第一章 cgilib例 第二章 动态创建图像 第三章 计数器的编写方法 一、记录(log)文件 1、grep 2、page-stats 3、wusage 二、...

    perl程序实现对UTF16编码的文件转换为utf8编码文件

    一些文件是uff16格式,虽然也是文本类型文件,但读取总是出现乱码,因此写了一个程序,可实现对UTF16编码的文件转换为utf8编码文件,请大家下载之前查清楚自己遇到的文件是否是utf16格式的.否则无效哦.使用方法请打开脚本...

    perl2php:将perl转换成php

    perl2php:将perl转换成php

    Perl语言入门(第五版-中文版).pdf

    Perl语言入门(第五版),本书是为中文版本,英文原版下载地址:http://download.csdn.net/source/2801846。 原书名: Learning Perl, 5th Edition;原出版社: O'Reilly Media, Inc. ;作者: Randal L.Schwartz Tom ...

    perl将praat文件格式textgrid转换为lab文档

    通过此程序,可以将textgrid中的相应的标注层信息提取出来,转换为音素级标注文档.lab,便于语音合成中的应用。

    perl语言脚本文档说明

    第一部分 Perl基础 第1学时 Perl入门 3 1.1 安装Perl 3 1.1.1 等一等,也许你已经安装了Perl 4 1.1.2 在Windows 95/98/NT上安装Perl 5 1.1.3 在UNIX上安装Perl 6 1.1.4 在Macintosh系统上安装Perl 7 1.2 文档...

    perl的fasta程序

    perl的fasta程序 FASTA是生物信息数据库的常用存储方式,了解FASTA格式的含义,用perl编写程序分离注释行内容,分离单行蛋白质序列,并转变成氨基酸三字母...说明使用的perl数据结构和程序的变量转换过程,解释含义。

Global site tag (gtag.js) - Google Analytics