您当前的位置:首页 > 生活常识 > 正文

perl语言入门(Perl中的默认变量@_和$_什么意思)

本文目录

  • Perl中的默认变量@_和$_什么意思
  • 从perl入手开始学编程是否可行
  • perl该怎么用
  • 如何系统的学习Perl语言

Perl中的默认变量@_和$_什么意思

@_ 在某个函数内,数组 @_ 包含传递给该函数的所有参数。$_ 默认的输入/输出和格式匹配空间--------------------------------------------------------------------------------------------------------@_的示例:#!/bin/perl -wuse strict;&fun( 111,222,333 );sub fun(){ print @_;}这里会把传入函数的参数111222333打印出来。---------------------------------------------------------------------------------------------$_示例:下面的几对代码都是等同的:while (《》) {...} # equivalent only in while! while (defined($_ = 《》)) {...} /^Subject:/ $_ =~ /^Subject:/ tr/a-z/A-Z/ $_ =~ tr/a-z/A-Z/chomp chomp($_) 以下是几处即使没有写明 Perl 也会假定使用 $_ 的地方: * 各种单目函数,包括像 ord() 和 int() 这样的函数以及除 “-t“ 以外所有的文件 测试操作 (“-f“,“-d“),“-t“ 默认操作 STDIN。 * 各种列表函数,例如 print() 和 unlink()。 * 没有使用 “=~“ 运算符时的模式匹配操作 “m//“、“s///“ 和 “tr///“。 * 在没有给出其他变量时是 “foreach“ 循环的默认迭代变量。 * grep() 和 map() 函数的隐含迭代变量。 * 当 “while“ 仅有唯一条件,且该条件是对 “《FH》“ 操作的结果进行测试时,$_ 就是存放输入记录的默认位置。除了 “while“ 测试条件之外不会发生这种情况。 (助记:下划线在特定操作中是可以省略的。)--------------------------------------------------------------------------------------------------@_和$_都是perl很常用的特殊变量。建议系统看一下《perl语言入门》。----------------------------------------------------------------------------------------------------------------另附perl常用特殊变量列表:perl 内置变量$- 当前页可打印的行数,属于Perl格式系统的一部分$! 根据上下文内容返回错误号或者错误串$” 列表分隔符$# 打印数字时默认的数字输出格式$$ Perl解释器的进程ID$% 当前输出通道的当前页号$& 与上个格式匹配的字符串$( 当前进程的组ID$) 当前进程的有效组ID$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.$, 当前输出字段分隔符$. 上次阅读的文件的当前输入行号$/ 当前输入记录分隔符,默认情况是新行$: 字符设置,此后的字符串将被分开,以填充连续的字段.$; 在仿真多维数组时使用的分隔符.$? 返回上一个外部命令的状态$@ Perl解释器从eval语句返回的错误消息$[ 数组中第一个元素的索引号$\ 当前输出记录的分隔符$] Perl解释器的子版本号$^ 当前通道最上面的页面输出格式名字$^A 打印前用于保存格式化数据的变量$^D 调试标志的值$^E 在非UNIX环境中的操作系统扩展错误信息$^F 最大的文件捆述符数值$^H 由编译器激活的语法检查状态$^I 内置控制编辑器的值$^L 发送到输出通道的走纸换页符$^M 备用内存池的大小$^O 操作系统名$^P 指定当前调试值的内部变量$^R 正则表达式块的上次求值结果$^S 当前解释器状态$^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间$^W 警告开关的当前值$^X Perl二进制可执行代码的名字$_ 默认的输入/输出和格式匹配空间$| 控制对当前选择的输出文件句柄的缓冲$~ 当前报告格式的名字$` 在上个格式匹配信息前的字符串$’ 在上个格式匹配信息后的字符串$+ 与上个正则表达式搜索格式匹配的最后一个括号$《 当前执行解释器的用户的真实ID$ 含有与上个匹配正则表达式对应括号结果$= 当前页面可打印行的数目$》 当前进程的有效用户ID包含正在执行的脚本的文件名$ARGV 从默认的文件句柄中读取时的当前文件名%ENV 环境变量列表%INC 通过do或require包含的文件列表%SIG 信号列表及其处理方式@_ 传给子程序的参数列表@ARGV 传给脚本的命令行参数列表@INC 在导入模块时需要搜索的目录列表$-和$+ 代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置

从perl入手开始学编程是否可行

我写 perl 已经十年有多, 虽然我也会 java, vb, pascal ( 其实还有其他, 不一一了 ), 但如果写程序的话, 我第一个想到的, 就是 perl. 简而言之, 写 perl 是会上瘾的. 正如其他朋友所言, perl 语言的结构是灵活的, 所以, 当你掌握之後, 你的心智就不必烦扰在甚麼(长/短)整数, 浮点数, 是文字还是数字... 你管好自己的逻辑就行, 其他的就由 perl 跟你分担. 到这里为止, 我认为 perl 可以给你一个好开始, 因为学编程的话, 最重要的是逻辑思维, 而不是学规范 ( 因为规范并不难学, 最多就一两个礼拜, 但思维需要以年月计的经验累积) . 如果你一开始就迷失在语法当中, 那你将会甚麼都学不来. 但话分两头的是. 这也得看你到底想向那个方向发展, 比如你想学写游戏, 我反会建议你学 lua, 再配以 c++. 而如果你想做用户界面(gui)的, 那我会建议你学 java. 如果你想做 web 的, perl, python, 和 php 都是个好选择. 但如果你只想随意学一套中规中矩的语言, 我会建议你学 pascal.

perl该怎么用

推荐一个学习资料----PERL编程速成教程,百度文库里面就有,很详细,也实用,不是那种很繁琐的语法介绍。如果是Linux环境下直接用vi编辑,windows下文本编辑器就选Notepad++吧,很好用,(其他的还要学怎么用)。最近也在研究这,大家一起加油吧

如何系统的学习Perl语言

Perl是典型的脚本语言,短小精悍,非常容易上手,尤其适合处理文本,数据,以及系统管理。它在老一辈的生物信息学分析人员中非常流行,出于历史遗留原因大家肯定会或多或少地接触 Perl,即使你再怎么推崇Python或者GO等新兴编程语言。1 入门资料两个半小时入门指导:大家可以仿造bioperl里面的各个功能,用自己的脚本来实现!3 复习资料如果你感觉学的差不多了,就可以下载一些复习资料,查漏补缺: http://michaelgoerz.net/refcards/perl_refcard.pdf https://rc.hms.harvard.edu/training/perl/Perl%20Cheat%20Sheet.pdf https://www.cheatography.com/mishin/cheat-sheets/perl-reference-card/ http://www.catonmat.net/download/perl.predefined.variables.pdf http://www.erudil.com/preqr.pdf https://www.cs.tut.fi/~jkorpela/perl/regexp.html https://support.sas.com/rnd/base/datastep/perl_regexp/regexp-tip-sheet.pdf


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 撒空空的小说吾乃食色(撒空空的小说)

下一篇: 胎盘前置怎么办,前置性胎盘怎么办(胎盘过低是怎么回事儿)



推荐阅读