因为是比较凌乱的用法规则收集,所以能看懂则看,不能看懂也无所谓。以后也会遇到。

  • Perl脚本第一行使用#!。Perl的后缀名一般为".plx"或".pl",运行时使用perl NAME.plx即可

例如,1.plx内容如下:

#!/usr/bin/perl
print "hello world\n"

执行该脚本:

shell> perl 1.plx
  • 注释。Perl只支持"#"注释,所以只支持单行注释、行内到结尾注释
# comment
print "hello world\n" # comment
  • Perl脚本中,除了最后一行,每行都需要以";"结尾,除非是注释行

  • Perl中不需要对变量进行声明,可以直接赋值、引用

$var=12;
print $var;
  • use指定使用某个版本的perl,如5.10版本。注意,use中是5.010而不是5.10,use 5.10会被perl认为是5.100版
use 5.010;

如果指定更细致的小版本号,如5.10.1版,则:use 5.010001;

  • 最好都加上use utf8语句
use utf8;
  • 最好在每个Perl程序中加上use strict语句,这在后面写稍大一点的Perl程序基本上是一种规范

该功能让Perl编译器以严格的态度对待Perl程序,如果定义了变量却未使用过,或者引用了未定义过的变量,都会编译错误。

use strict;
  • 可以加上warning信息进行调试
use warnings;

或者perl -w,或者在Perl脚本中:

#!/usr/bin/perl -w
  • Perl中可以通过反引号来执行操作系统中的命令
$var=`date +"%F %T"`
print $var
  • Perl中调用自带的内置函数时,可以使用括号传递参数,也可以省略括号

例如,调用print函数:

print("hello world\n");
print "hello world\n";
  • Perl中的ENV:Perl可以通过ENV这个hash直接访问操作系统的环境变量
print $ENV{PATH};   # 输出操作系统的PATH环境变量

如果Perl想访问操作系统中某个变量,可以直接在操作系统中设置,然后通过Perl访问:

$ myvar=2;export myvar;

print $ENV{myvar};
  • Perl中token之间如果是不同的命名类型,则中间的空格分隔符号可以省略

主要体现在函数和参数之间的空格。

print"abc","def\n";   -> print "abc","def\n"
print$var; -> print $var
my$var="abc"; -> my $var
print~~length$var -> print length $var

显然,参数部分的首字符如果是数值、下划线或字母,则会被当作函数名的一部分进行解析,这是错误的省略方式:

print1+3;

Perl语法的基本规则的更多相关文章

  1. Perl 语法 - 基础

    perl语言的核心是正则表达式,在文本处理上非常有优势,与python类似,但语法不同,perl的语法很灵活,用多了才会觉得好用. 常用知识点总结: perl语法类似于C语言(perl源于Unix), ...

  2. perl 语法速查

    同时学perl.python和shell脚本会很容易将它们的语法搞混,本文主要是一个个人的总结,方便要用时的查询. perl基本语法.安装.帮助文档 文件头格式: #!/usr/bin/perl us ...

  3. Perl 语法 - 高级特性

    总结: q().qq().qw(同单引号).qx{牢记是花括号},分别是单引号.双引号.创建字符串列表 和 捕获命令输出.   第9学时 其他函数和运算符 一件事情可以使用多种方法完成. 有哪些其他的 ...

  4. 一个linux内核编译时遇到的perl语法导致的编译问题解决

    在编译linux内核时,遇到了一个比较诡异的问题.具体log如下: Can't locate strict.pm in @INC (you may need to install the strict ...

  5. 读写生信流程必备的 Perl 语法

    最早就是写Perl的,后来来到公司转Python,现在又要负责流程了,开始重拾Perl,当然是借鉴别人现有的语法,我再重新组合. 基本语法就不介绍了,参照我之前文章 Perl   模块 use str ...

  6. perl 语法速查 | 模块安装

    perl -MCPAN -e shell install Bio::SeqIO 或者直接perl -MCPAN -e 'install Excel::Writer::XLSX' 用cpan装不上,编译 ...

  7. Perl系列文章

    0.Perl书籍推荐 Perl书籍下载 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书. 入门级别1:<Perl语言入门>即小骆驼 入门级别2:<In ...

  8. 精通Perl(第2版)

    精通Perl(第2版)(通往Perl大师之路必读经典书籍,体现了一种编程思维,能够帮你解决很多实际的问题) [美]brian d foy(布瑞恩·D·福瓦)著   王兴宇 刘宸宇 译 ISBN 978 ...

  9. perl 学习杂项笔记

    ### 由于perl 语法属于很自由的那种, 建议出现错误的时候打开 -w 或者使用 -Mdiagnositics 试一下 ### 如何调试 perl程序 http://www.ibm.com/dev ...

随机推荐

  1. div界面元素生成图片

    首先明确一下需求,界面上截取部分元素,生成图片,用户可以长按保存.主要是在微信里,所以设计到生成二维码的问题. 1.链接生成二维码,这里用qrcode生成,搜索可以搜到相关的js文件 var myUr ...

  2. 《你不知道的JavaScript》三卷读后感

    本系列的作者是Kyle Simpson,上卷译者赵望野.梁杰,中卷译者单业,下卷译者单业.姜南. 我个人觉得第一卷是本系列最好的(必读),而第二卷虽然也讲解了很多知识点,但是对于异步和性能的那部分提及 ...

  3. P层

    package net.goeasyway.uploadimage.presenter; import net.goeasyway.uploadimage.model.Photo;import net ...

  4. HDFS JAVA客户端的权限错误:Permission denied

    HDFS JAVA客户端的权限错误:Permission denied 转自:http://blog.csdn.net/kkdelta/article/details/50393413 搭建了一个Ha ...

  5. arp脚本

    1.什么是arp?arp可以解决什么问题? ARP:是地址解析协议 arp解决我们知道一个机器(主机或者路由器)的IP地址,需要找出其相应的硬件地址 2.编写ARP脚本,抓取对应主机的mac地址 1 ...

  6. 深入理解JVM(二)——内存模型、可见性、指令重排序

    上一篇我们介绍了JVM的基本运行流程以及内存结构,对JVM有了初步的认识,这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况. 内存 ...

  7. weexpack打包weex项目运行/打包记录

    构建weex项目 安装weex-toolkit cnpm install -g weex-toolkit 初始化一个项目只需新建文件夹并在目录下执行 weex init 即可 安装依赖:cnpm in ...

  8. 通过Weeman+Ettercap配合拿下路由器管理权限

    通过Weeman+Ettercap配合拿下路由器管理权限 本文转自>>>i春秋学院 本篇文章主要介绍如何在接入无线网络后如何拿到路由器的管理权限,至于如何得到路由器连接密码可以参考 ...

  9. 第一节:学会Java前提-手把手教你配置JDK环境变量

    前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...

  10. Kali学习笔记23:Web渗透简介

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 我这里先说几句: 其实从缓冲区溢出到Web渗透之间还有 ...