`
luogen33
  • 浏览: 83311 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

perl中获取浮动ip

 
阅读更多
通过strace ifconfig命令可以看到,linux实质是通过ioctl命令完成的网络接口ip获取。那么,我们也用ioctl就是了!

如下:

#!/usr/bin/perl
use strict;
use warnings;
use Socket;
require 'sys/ioctl.ph';
sub get_ip_address($) {
    my $pack = pack("a*", shift);
    my $socket;
    socket($socket, AF_INET, SOCK_DGRAM, 0);
    ioctl($socket, SIOCGIFADDR(), $pack);
    return inet_ntoa(substr($pack,20,4));
};
print get_ip_address("eth0");

这样的好处,就是只调用了核心模块,在分发脚本时,不用连带安装其他模块。
分享到:
评论

相关推荐

    Perl获取eth0 ip地址

    用perl实现的获取eth0 ip地址的方法,主要是打开ifconfig读取信息,然后用正则表达式来匹配,从而获取到ip地址,比较简单。

    PERL解析IP地址为所在地

    在实际应用中,你可以将这个Perl脚本集成到Web服务或系统监控工具中,以便在接收到新的IP请求时自动获取其地理位置信息。同时,考虑到性能优化,可能需要对查询过程进行缓存,避免频繁的数据库查询。 总之,这个...

    perl-Date-Manip-6.24-1.el6.noarch.rpm

    perl-Date-Manip-6.24-1.el6.noarch.rpm perl-Date-Manip-6.24-1.el6.noarch.rpm

    linux下使用perl获取本机ip的几种方法介绍

    以上介绍了在Linux环境中使用Perl获取本机IP地址的几种常见方法,每种方法都有其特定的应用场景和优缺点。选择哪种方法取决于具体的需求和环境约束。对于简单的应用场景,直接调用Shell命令或使用Perl直接处理...

    perl中文手册.zip

    它的灵活性和可扩展性使得Perl在20世纪90年代中期成为了互联网发展中的重要工具,至今仍被广泛应用于各种复杂的任务。 Perl的设计理念是“有一种方法,最好是多种方法”,这使得它具有极高的自由度,程序员可以根据...

    perl 中文网页教程

    6. **异常处理**:Perl中的`eval`函数可以捕获和处理运行时错误,`die`和`warn`用于抛出和警告。 7. **脚本编写和命令行参数**:Perl脚本可以直接在命令行运行,并能接收命令行参数。 8. **文本处理**:Perl在处理...

    Perl语言参考手册中文htmlPerl语言参考手册中文html

    在Perl中,基础知识点包括: 1. **语法与语句**:Perl的语法简洁而灵活,允许使用行内注释和块级注释。主要语句有赋值语句、条件语句(if/else)、循环语句(for、while)以及流程控制语句(next、last、redo)。 ...

    perl 中文手册 CHM

    4. **模块使用**:Perl拥有丰富的标准库和第三方模块,手册会介绍如何通过CPAN(Comprehensive Perl Archive Network)获取和安装模块,以及如何使用常见的模块如DBI(数据库接口)、LWP(轻量级网页程序)等。...

    最新perl中文教程

    "perl.doc"可能是一个文档集合,详细介绍了Perl的高级特性,如对象导向编程、异常处理、模块的编写和发布,以及如何利用CPAN(Comprehensive Perl Archive Network)来获取和安装第三方库。 "Learning+Perl+3rd+...

    Perl5.0中文教程.doc

    要获取Perl,可以在Internet上通过匿名FTP免费下载,如ftp://prep.ai.mit.edu/pub/gnu/perl-5.004.tar.gz。安装过程包括解压、编译和放置可执行文件到适当目录,如/usr/local/bin/perl。对于Windows用户,需要安装...

    Perl-5.10.0版本

    Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0版本,Perl-5.10.0...

    perl获取文件修改时间

    ### Perl获取文件修改时间详解 #### 一、`stat`函数解析 在Perl中,`stat`函数用于获取文件的状态信息,包括但不限于文件大小、创建时间、最后访问时间和最后修改时间。这些信息通常存储在一个包含14个元素的数组...

    Perl.TK (TK for perl)

    3. **布局管理**:Perl.TK支持多种布局管理器,如Pack、Grid和Place,它们用于控制控件在窗口中的位置和大小。通过合理使用布局管理器,可以创建出美观且适应不同屏幕尺寸的界面。 4. **面向对象编程**:Perl.TK...

    perl中文参考手册

    Perl的模块系统是其强大功能的一部分,手册会介绍如何使用CPAN(Comprehensive Perl Archive Network)来查找和安装模块,以及如何在程序中导入和使用模块。例如,DBI模块用于数据库接口,LWP模块用于网络请求,XML:...

    Learning Perl [Perl语言入门|中英文|清晰|第5版]

    3. **函数和模块**:Perl拥有丰富的内建函数,同时可以通过CPAN(Comprehensive Perl Archive Network)获取到数万种第三方模块,扩展其功能。例如,`print`用于输出,`open`和`close`用于文件操作。 4. **正则...

    perl6手册perl6

    介绍Perl 6中如何利用内省技术获取有关对象或类型的信息。 ### 5. 类与对象 #### 5.1 从类开始 介绍了Perl 6中类的基本定义方法。 #### 5.2 我能拥有状态吗? 讨论Perl 6中如何定义类的属性以表示对象的状态。 ##...

    perl 中文经典教程

    事实上,你将看到,它的许多特性是从C语言中借用来的。  .与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型...

    在Genesis中使用Perl的配置.doc

    ### 在Genesis中使用Perl的配置详解 #### 一、引言 在计算机编程领域,Perl是一种广泛使用的脚本语言,以其强大的文本处理能力和灵活的语法结构而闻名。本文旨在详细介绍如何在特定环境下(如Genesis系统)配置Perl...

    在Java中运行Perl脚本 JERL

    此外,需要注意Perl脚本中的错误输出,可以通过`perl.getErrorStream()`获取。 **性能与资源管理** 虽然JERL提供了方便的跨语言交互,但频繁创建和销毁Perl解释器会消耗大量资源。因此,对于需要多次执行Perl脚本的...

    PERL。PERL。ADD

    在Perl中,库和模块是通过CPAN(Comprehensive Perl Archive Network)提供的,它包含了大量的第三方代码资源,用于扩展Perl的功能。 如果"LPERL.ADD"指的是一个自定义模块,那么它可能包含了一些特定的函数或者子...

Global site tag (gtag.js) - Google Analytics