perl eval】的更多相关文章

eval 表达式: eval 块: eval 在第一种形式,通常称为一个字符串eval EXPR 返回值是被解析的和被执行的作为一个小小的Perl程序. 表达式的值(是它本身决定的在标量上下文环境)是有限被解析, 如果这里没有错误,作为一个block执行在当前Perl程序的词法上下文. 这意味着,特别情况下, 任何外部的词法变量时可见的,任何包变量设置或者子函数和 格式定义 之后仍旧存在 注意 eval执行值是每次都被解析的, 如果EXPR 被省略, 评估$_. 这种形式是典型的用于延迟解析.…
29.2.32 eval • eval BLOCK • eval EXPR • eval eval 关键字在Perl 里起两种不同的但相关的作用.这些目的是用两种形式的语法 来表现的, eval BLOCK 和eval EXPR.第一种形式捕获那些致命的运行时例外 (错误),类似于C++ 或Java 里的"try 块". eval { ... }; # 捕获运行时错误 if ($@) { ... } # 处理错误 [tomcat@wx03 ~]$ cat a1.pl use File:…
eval是个表达式,语句末尾有一个分号, 发现在它的监视范围内出现致命错误,会立即停止运行整个块,退出后继续运行其 余的代码   eval的返回值就是语句块最后一条表达式的执行结果   eval非正常退出时,返回值是undef,并在$@里面设置错误消息   eval有四种错误无法捕获到: 1.源代码中的语法错误 2.让perl解释器本身崩溃的错误,比如内存溢出或者无法接管的信号 3.warn警告,无论是用户还是perl内部发出的 4.exit   eval字符串,这种形式的eval会把拿来的字符…
精通Perl(第2版)(通往Perl大师之路必读经典书籍,体现了一种编程思维,能够帮你解决很多实际的问题) [美]brian d foy(布瑞恩·D·福瓦)著   王兴宇 刘宸宇 译 ISBN 978-7-121-25419-2 2015年3月出版 定价:89.00元 424页 16开 编辑推荐 - 探索高级的正则表达式功能 - 如何避免程序的常见安全问题 - 对 Perl 程序的性能分析和基准测试可以让你发现改进之处 - 清理 Perl 代码,使之更加直观和易读 - 了解 Perl 如何持续跟…
#!/usr/bin/perl use DBD::mysql; use strict; use warnings; use DBI; use utf8; binmode(STDOUT, ':encoding(utf8)'); binmode(STDIN, ':encoding(utf8)'); binmode(STDERR, ':encoding(utf8)'); use Time::Local; my $addtime=time(); my $dbh; ,,,,); sub getpid{ m…
DBI 是perl脚本连接数据库的一个模块.perl脚本相对shell更灵活,功能更强大,跨平台能力强.相对可执行jar包要简单很多. ​1.下载安装包DBI-1.631.tar.gzperl脚本下载的网站http://www.cpan.org/很多perl的组件都可以在这个网站上下载 2.解压tar -xzvf DBI-1.631.tar.gz cd DBI-1.631perl Makefile.PLmakemake test 3.DBD安装下载DBD-mysql-4.032.tar.gz (…
perl模块Net::SCP::Expect批量下发文件 用Net::SSH::Perl和Net::SCP::Expect写部署脚本 scp分发文件的perl脚本 Perl SCP操作 #!/usr/bin/perl use Net::SCP::Expect; my $pc_ip="192.168.233.135"; my $pc_passwd="test"; my $pc_user="test"; my $pc_ssh_port=";…
这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html 部门用持续集成已经很久了,但其实使用起来还是很麻烦的,每当要给一个新项目set up持续集成的环境,虽然是Copy一些现有的jobs, 但是许多参数,变量需要去改,然后还有调试,少说3,4天搞一下,非常不方便. 最近比较空,就把现有的持续集成系统升级改造下,job用一套模板,全部参数化,只要修改配置…
1.  单引号字符串中的\n不会被当做换行符处理. 如:'\'\\'  -->  '\  . 2.  双引号 字符串联    "Hello"."World"."\n"  -->  HelloWrold 换行; 字符串重复操作   "fred"×3  --> "fredfredfred"; 大小写       "\l","\L"  -->  小写…
转自:http://c20031776.blog.163.com/blog/static/684716252013624383887/ Perl 程序中,正则表达式有三种存在形式 分别是 (1 模式匹配:m/<regexp>/     #平时我们简写 /<regexp>/ ,略去m, 三个参数 /i不区分大小写   /s匹配任何字符    /x添加空格  /o 不重复编译正则表达示 (2 模式替换:s/<pattern>/<replacement>/ /g …
程序脚本在运行过程中,总会碰到这样那样的问题,我们会预知一些问题并为其准备好处理代码,而有一些不能预知.好的程序要能尽可能多的处理可能出现的异常问题,本文就总结了一些方法来解决这些异常,当然perl在这个处理了不及其它同类语言,但也不会差到那里.在开始前,我们先盘点一些关于perl的优缺点. 0. 历史太悠久了.你可以在1997年的计算机上找到perl5.0.(只是吐槽一下,历史悠久没什么不好,与时俱进才是关键) 1. 不回收循环垃圾(这是个硬伤,也许和Perl设计的初衷有关,小脚本影响不大:但…
这是标准的Perl解释器所支持的所有重要函数/功能的列表.在一个函数中找到它的详细信息. abs - 绝对值函数 accept - 接受传入的socket连接 alarm - 调度一个SIGALRM atan2 -Y/X的反正切值,范围在-PI到PI bind - 地址绑定到一个套接字 binmode - 准备二进制文件I / O bless - 创建一个对象 caller - 获取当前子程序调用的上下文 chdir - 改变当前的工作目录 chmod - 改变权限的文件列表 chomp - 从…
在写perl的时候,如果要应用到各种平台的话,比如linux 和windows,会遇到各种问题,有时就是要根据系统类型来加载各种库,之前写的就是这样的, if($^O eq 'linux'){ use XXX::xxx; }elsif($^O eq 'MSWin32'){ use XXX1::xxx1; } 结果是错的,perl提示没有找到XXX这个模块,看来,这里用use的话,perl是回去查找XXX的,就算你没有真的使用,那该怎么办? 去网上搜了一下,解决方法就是如果要动态加载库,可以用 i…
PerlGuts Illustrated Version 0.49, for perl 5.20 and older This document is meant to supplement the perlguts(1) manual page that comes with Perl. It contains commented illustrations of all major internal Perl data structures. Having this document han…
  原文地址:  http://blog.csdn.net/johnny710vip/article/details/8905239   这是一篇关于perl脚本测试的总结性文章,其中提到了很多实用的模块,如果文中介绍的不够详细,请到cpan上搜索该模块并查阅其文档.  1基本语法检查 Perl语言的哲学是“There is more than one way to do it”,很多讨厌Perl的人总是拿Perl的这个特性来攻击Perl,而喜欢Perl的人却又极力推崇它.这里不讨论这个特性是好…
标量 标量是 Perl 中最简单的数据类型.大多数的标量是数字(如 255 或 3.25e20)或者字符串(如 hello或者盖茨堡地址). 数字 perl中所有数字内部的格式都是双精度浮点数. 浮点数 1.25 255.000 255.0 7.25e45 #7.25x10 的 45 次方(一个大整数) -6.5e24 # -6.5x10 的 24 次方(一个大的负数) -12e-24 #- -12x10 的-24 次方(很小的负数) -1.2E-23 #指数符号可以大写(E) 整数 0 200…
我的第一个用于生产环境的perl脚本,虽然不是很优秀,但也迈出了扎实的一步 :)领导有任务,给一批IP列表,ping每一台机器,如果没有响应就发邮件通知,通知的邮件需要分开,不能通知一个列表,得一封一封的通知.用到email::send模块,因为需要用到Gmail 复制代码代码如下: #!/usr/bin/perl use warnings; use strict; use Email::Send; use Email::Send::Gmail; use Email::Simple::Creat…
perl特殊符号及默认的内部变量,有需要的朋友不妨参考下 Perl的特殊符号 @       数组                          $x{}   x名字前面是美元符号($),后面是花括号({}),则其为 hash 元素%       要引用整个 hash,使用百分号(“ )作为前缀.前面几页中使用的 hash 的名字为%family_name.$!      系统产生的一些可读的信息,也可能是出错的信息$_     子函数参数变量自己本身@_     子程序的私有变量&x   …
[ 文件句柄 ] $| 如果非零, 则在对当前选定的文件执行写或打印操作后强制清除缓冲区 $% 当前选中文件句柄的当前页码 $= 当前选中文件句柄的当前页面长度 $- 当前选中文件句柄的页面剩余长度 $~ 当前选中文件句柄的报表格式名称 $^ 当前选中文件句柄的当前页眉格式名 [ 全局变量 ] $_ 默认的输入和模式搜索空间 $@ 上一个 eval.do 或 require 函数产生的错误消息 $/ 输入记录的分隔符, 默认为换行符(类似于 awk 中的 RS) $\ 打印函数的输入记录分隔符.…
常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript Javascript现阶段还不适合用来做独立开发,它的天下还是在web应用上. 主要做数据挖掘算法的研究,应该会处理大量的文本. 提到文本处理,相信大部分人都会说应该用Perl.文本处理很强大,语法给人的感觉太乱了, Perl的基本语法,用它做了一些简单的文本处理工作,在Unix或 Linux上做系统管理Perl是最好的选择. Python据说吸收了Perl的一些东西,语…
字符串形式:表达式计算 Vsftp:/root/perl/14# cat aa 9 5 1 2 Vsftp:/root/perl/14# cat a1.pl open (A,aa); while ($line = <A>){ chomp $line; $str .=$line; ##将所有的行连接起来 print "\$str is $str\n"; }; print "11111111\n"; eval $str; Vsftp:/root/perl/1…
2. 4. 1. 习题1 [15 分钟] 写一个程序从命令行取一个文件清单, 然后用grep 把那些文件大小在1000 字节以内的文件找出来.用map 把这个清单里的每个字串前加四个空格并在 字串后面加上换行符.然后输出列表结果. } @ARGV; 2. 4. 2. 练习2 [25 分钟] 写一个程序要求用户输入一个正则表达式的模板.不要以命令行参数形式输入, 要从键盘读取.然后从一些目录中(可以是硬编码的, 如: "/etc" 或 'C:\\Windows' )中读取符合模板的文件名…
perl 内置变量 $- 当前页可打印的行数,属于Perl格式系统的一部分 $! 根据上下文内容返回错误号或者错误串 $” 列表分隔符 $# 打印数字时默认的数字输出格式 $$ Perl解释器的进程ID $% 当前输出通道的当前页号 $& 与上个格式匹配的字符串 $( 当前进程的组ID $) 当前进程的有效组ID $* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之. $, 当前输出字段分隔符 $. 上次阅读的文件的当前输入行号 $/ 当前输入记录分隔符,默认情况是新行 $: 字符设置,…
此文已转至http://cn.abnerchou.me/2014/02/23/fa87ae80/ 原文:点我 原文翻译:点我 首先了解下CodeEval是做什么的: A tool for auto evaluating programming challenges in C/C++/Java/Python/Ruby/PHP/Perl/ Scala/Clojure/C#/Tcl/JavaScript/ Haskell/Go/Bash/Lua and many more. 重点是这个Programm…
Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只认识两种编码: Ascii(octets)和utf8(string). utf8 flag 那么perl如何确定一个字符串是oct…
[root@dr-mysql01 ~]# cat t2.pl use DBI; my $dbUser='zabbix'; my $user="root"; my $passwd="1234567"; my $TABLE_NAME='history_uint'; my $date='201605'; my $dbh = DBI->connect("dbi:mysql:database=zabbix;host=192.168.32.55;port=330…
eval 捕获错误: [root@dr-mysql01 ~]# cat t1.pl use DBI; my $dbUser='zabbix'; my $user="root"; my $passwd="1234567"; my $dbh = DBI->connect("dbi:mysql:database=zabbix;host=192.168.32.55;port=3306",$user,$passwd) or die "can…
ReadLine support available (try 'install Bundle::CPAN')cpan>进入cpan的shell,好了,我为了安装spamassassin,需要安装以下几个install Digest::SHA1 install HTML::Parser install Storable install DB_File install Net::DNS install Net::SMTP install Mail::SPF::Query install IP::C…
格式优美的perl代码不但让人赏心悦目,并且能够方便阅读. perltidy的是sourceforge的一个小项目,在我们写完乱七八糟的代码后,他能像变魔术一样把代码整理得漂美丽亮,快来体验一下吧!!! perltidy 主页: http://perltidy.sourceforge.net/perltidy.html 安装方法: 进入解压后的文件夹,然后运行一下命令 perl Makefile.PL make make test make install 用法: 配置一下vim,使得我们在写代…
来源: http://www.cnblogs.com/itech/archive/2013/03/12/2956185.html 转自:http://perl.apache.org/docs/general/perl_reference/perl_reference.html use(), require(), do(), %INC and @INC Explained The @INC array @INC is a special Perl variable which is the equ…