perl
m4vsak123
这个作者很懒,什么都没留下…
展开
-
Perl函数pack/unpack解释
函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。<br /> 除了格式a、A和@外,重复使用一种格式多次可在其后加个整数,如:<br /> $twoints = pack ("i2", 103,转载 2010-08-04 16:52:00 · 277 阅读 · 0 评论 -
perl程序收藏1
这是我学习的最简单的perl程序,就是它,带我进入了perl的世界。 #!/usr/bin/perl while (<>) { if ($_ =~ /^hello/i) { print $& . "\n"; } } 还可以再减少一行。 #!/usr/bin/perl ...原创 2010-08-16 17:55:18 · 92 阅读 · 0 评论 -
perl的进程间同步互斥机制(信号灯集)
perl里面也有SystemV的进程间通信/同步机制,和用C语言写的程序类似。 工作中用到了perl的进程间通信机制,其实只用到了二元信号灯而已,实现非常简单。 我用到的模块是: IPC::SysV 和 IPC::Semaphore 首先需要创建信号灯集对象,如下: $sem=IPC::Semaphore->new(1234,10,S_IR...2011-04-13 17:55:06 · 134 阅读 · 0 评论 -
perl根据ip地址获取mac地址
有时候需要根据一台主机的ip地址获取其mac地址,这是可以实现的,但这个ip地址必须是同一个以太网内的ip地址。 在perl的模块中Net::ARP可以实现这个功能。但是它的arp_lookup函数只能从本机的arp缓存表中取“被查询ip”的mac,如果恰恰有,能取到,没问题。但是如果arp缓存没有“被查询ip”,那么会得到“unknow”或者“00:00:00:00:00...2011-04-14 18:06:35 · 206 阅读 · 0 评论 -
关于模块IO::Socket::INET中recv()方法
在使用perl的IO::Socket::INET模块进行网络编程中发现recv()方法如果收不到数据,会一直阻塞地等,永远也不会超时,如果不想如此,可以设置超时时间,如: $socket->recv($buffer, $len, $timeout); 如果把...2011-04-15 09:44:51 · 151 阅读 · 0 评论 -
使用IO::Socket::INET模块进行TCP通信
Server端程序 #!/usr/bin/perl use IO::Socket::INET; my $sock = IO::Socket::INET->new( LocalAddr => '127.0.0.1', LocalPort => 8080, Listen => 3, Reuse => 1, ...原创 2011-03-11 18:50:56 · 419 阅读 · 0 评论 -
简单的perl模块结构
如果想在perl中使用面向对象编程,就要先熟悉perl的模块。 模块就相当于是perl中的'类',一个perl的模块文件以.pm为后缀,其内部结构大致如下: #!/usr/bin/perl package DynamicTable; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(heng, ha); sub he...原创 2011-03-16 18:17:12 · 81 阅读 · 0 评论