perl脚本实战总结

# 获取环境变量的值
my $java_home = $ENV{"JAVA_HOME"};

比较运算符

数字比较:

== 数字相等
!= 不相等
> 左边数字大于右边数字
< 小于右边
>= 大于等于右边
<= 小于等于右边
<=> 如果左边的数小于右边的数返回 -1,如果相等返回 0, 如果左边的数大于右边的数返回 1 。

字符串比较:

lt 小于 less than
gt 大于 greater than
le 小于等于 less than or equal to
ge 大于等于 greater than or equal to
eq 等于 equal to
ne 不等于 not equal to
cmp 如果左边的字符串大于右边的字符串返回 1,如果相等返回 0,如果左边的字符串小于右边的字符串返回 -1。 compare

逻辑运算符:

and 逻辑与运算符符。如果两个操作数都为 true,则条件为 true。
&& 同上
or 逻辑或运算符。如果两个操作数中有任意一个非零,则条件为 true。
|| 同上
not 起否定作用,类似于Java中的!,如果条件为true,则在前面加上 not 则为false

perl正则表达式,主要有三种模式:

  1. 匹配:m//(还可以简写为//,略去m)
  2. 替换:s///
  3. 转化:tr///

关于Perl的正则表达式,可以参考菜鸟教程:

Perl正则表达式

my $str = "abc";
# 转大写
my $str1 = uc($str);
# 首字母转大写
my $str2 = ucfirst($str);

# 转大写
my $string = 'welcome to runoob site.';
$string =~ tr /a-z/A-Z/;
print "\$string = $string\n";

# 转小写
my $string = 'welcome to runoob site.';
$string =~ tr /A-Z/a-z/;
print "\$string = $string\n";

# 转小写
my $str5 = "Welcome To Shanghai";
$str5 = lc($str5);
print("\$str5 = $str5\n");

# 首字母转小写
my $str6 = "WELCOME TO SHANGHAI";
$str6 = lcfirst($str6);
print("\$str6 = $str6\n");
# 获取操作系统名称
my $os = $^0;
$os = lc($os);
print("os = $os\n");
# os可能的取值是aix、linux、mswin32,其余的未知
# .= 拼接字符串
my $str = "abc";
my $str1 = "123";
my $str2 = $str .= $str1;
print("str2 = $str2 \n");

文件测试操作符

-d 为目录
-e 文件或目录名存在
-f 为普通文件
-p 文件是命名管道(FIFO)
-s 文件或目录存在且不为0(返回字节数)
-z 文件存在,大小为0(目录恒为false),即是否为空文件

文件操作

# 删除文件
unlink("/home/dake/file/test.txt");

执行shell命令

# 执行shell命令
# 两边的括弧是反引号,就是ESC下面的那个按钮,在英文状态下的输出结果
`mkdir -p dir1/dir2 && chmod 755 dir1/dir2`;

# 也可以给出返回结果,方便判断 shell 命令执行结果是否正确
my $result = `mkdir -p dir1/dir2 && chmod 755 dir1/dir2`;

你可能感兴趣的:(脚本,perl,正则表达式,开发语言)