温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Perl操作符中Perl不等于怎么用

发布时间:2021-12-06 10:33:05 来源:亿速云 阅读:420 作者:小新 栏目:开发技术

小编给大家分享一下Perl操作符中Perl不等于怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Perl 不等于

$/="" 不等于undef$/

早有耳闻Perl可以简单地把一个文件一下子读入一个变量,而且不管它是不是二进制的.好象不止一次看到说$/="";即可.
一直以为是这样,直到遇到奇怪的现象,二进制文件里混入了一个0x0A,这样的BUG很难找,费了半天劲才找到是读入的时候就少读了内容.
搞不懂Perl为什么要设计成这样,带来便利的同时你得了解太多的细节,语言本身的规则太过复杂.

让Perl 不等于$/=""的效果等同于undef$/;难道不是更直观的设计吗.鉴于此,对Perl的使用一定要12万分的小心,不要把自己的程序建立在不十分了解的语言特性和builtin函数,操作符.我***准备精通的是它的正则表达式的内容.再就是二进制操作相关的东西:

pack/unpack函数.
substr返回值作为左值的效率.
ord,chr.
int()和整数操作的规则
StringWise的位操作符号(一共4个~&|^)

用Perl操作二进制文件需要注意的问题

1.千万记得打开一个文件后用binmode(FILE_HANDLER).Perl5.8的open可以直接指定打开的方式.
这在UNIX系统下是不必的.但在windows下是必需的.

2.分析大量数据要考虑正则表达式的效率和可读性.

关于可读性,可以把复杂的表达式分解为多个子部分,这些子部分用qr操作符编译.
另外就是使用x这个modifier把各个部分分开

关于效率,就要了解一些正则表达式内部的工作机制,比如贪婪与回溯以及(?>)断言等.
另一个就是用o这个modifier来让表达式只编译一次.

3.注意它的所有除法操作都是用浮点的.

对策:用int()转回来.
用useinteger;nointeger........这个还不会用.

4.搞清楚Perl的数据类型与数据的机器表示之间的关系.

二进制数据都用"\x0\x1"这样的形式写.

以上是“Perl操作符中Perl不等于怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI