关键:本身有语言实践基础的人来说,对比学习的方法会效率非常高!
我的理念:用到什么学什么,语言的不同之处在于表述方式,具体为语法格式,都属于小区别!
###################进入正题###################
1、perl的基本语法规则
(0)以一个运行为案例讲解
#!/usr/bin/perl
use strict;
use warnings;
use v5.16;
use utf8;
print("hello world\n")
(1)执行
# (1)Perl的解释器:脚本第一行使用#!
# (2)perl文件的命名:Perl的后缀名一般为.pl(只是标识是一个perl文件),其它也可以!
# (3)perl文件的执行:运行时使用perl file.pl即可
(2)注释
# (1)注释:Perl只支持"#"注释,所以只支持"单行注释"、行内到结尾注释
# (2)Perl脚本中除了最后一行,每行都需要以";"结尾,除非是注释行--->Python不需要!
(3)use说明
# (1)指定版本:use指定使用某个版本的perl,如5.10版本。
# 注意:早期的use中是5.010而不是5.10,use 5.10会被perl认为是5.100版,后期的略有不同!
# 说明:没有用最新的5.30,是因为学习的需要(企业大多数不会使用不稳定的版本)
use 5.16;
# 小插曲:由于是在虚拟机进行编译,编译好后在真机直接使用,而use模块在编译的时候已经指定了位置,而真机并没有此目录,所以出错!
# (2)编码问题,以前是ASCII编码,现在是Unicode,解决了中文的问题!
use utf8;
# (3)由于perl的语法太灵活,所以需要对其进行严格的限制,这在后面写稍大一点的Perl程序基本上是一种规范
use strict;
# (4)对于一些不合理的可以通过加上warnings,输出警告信息,进行调式和排错!
use warnings;
# 等价于在脚本执行的时候"perl -w file.pl"
(4)与操作系统相关联(核心)
# (1)Perl中可以通过反引号来执行操作系统中的命令
# (2)Perl中的ENV:Perl可以通过ENV这个hash直接访问操作系统的环境变量
# (3)Perl中token之间如果是不同的命名类型,则中间的空格分隔符号可以省略!
对比:shell中执行系统中的命令可以通过()或者反引号(通用)的方式来执行!
#!/usr/bin/perl
use strict;
use warnings;
use v5.16;
use utf8;
# (1)Perl中调用自带的内置函数时,可以使用括号传递参数,也可以省略括号
print "hello world\n";
#print("hello world");
# (2)Perl中可以通过反引号来执行操作系统中的命令
print `perl -v`;
# 注意:单引号内嵌套双引号-->携带参数的特殊情形!
print `date +"%F %T"`;
# (3)Perl中的ENV
# 底层原理:Perl可以通过ENV这个hash直接访问操作系统的"环境变量"
print $ENV{PWD};
# 需求:如果Perl想访问操作系统中某个变量,可以直接在操作系统中设置,然后通过Perl访问
# Use of uninitialized value in print at --->你使用了未定义的变量
# bash命令行 var =2;export var
# print $ENV{var};
(5)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+2;
建议:不要采用,只是当别人代码不规范的时候,你在维护的时候能读懂即可!
后续添加!