eval是个表达式,语句末尾有一个分号,
发现在它的监视范围内出现致命错误,会立即停止运行整个块,退出后继续运行其
余的代码
eval的返回值就是语句块最后一条表达式的执行结果
eval非正常退出时,返回值是undef,并在$@里面设置错误消息
eval有四种错误无法捕获到:
1.源代码中的语法错误
2.让perl解释器本身崩溃的错误,比如内存溢出或者无法接管的信号
3.warn警告,无论是用户还是perl内部发出的
4.exit
eval字符串,这种形式的eval会把拿来的字符串直接当做perl源代码编译,然后执行
grep {代码块,使用$_作为列表的某个元素的占位符,并返回真或假} 被筛选列表
如果筛选器需要的是一个表达式,则在这个表达式后面用逗号结束就行了