Perl 语法 - 高级特性
Posted Digital-LI
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl 语法 - 高级特性相关的知识,希望对你有一定的参考价值。
总结:
q()、qq()、qw()、qx(),分别是单引号、双引号、创建字符串列表 和 捕获命令输出。
第9学时 其他函数和运算符
一件事情可以使用多种方法完成。
本节主要内容:
- 如何对标量进行简单的字符串搜索?(之前用正则表达式)
- 如何进行字符替换?
- 如何使用print函数
- 如何将数组用作堆栈和队列
第10学时 文件与目录
- 获得目录列表
- 创建和删除文件
- 创建和删除目录
- 获取文件信息
如何获得目录列表?(打开目录 读取目录) 此步的局限性:只能查看指定目录下的文件目录列表信息。
打开文件 和 打开目录 不太一样,打开目录 是为了获得目录里的信息列表,而不能写入或修改。
# 打开目录 opendir(DIR, ‘./‘) or die $!;
# 以标量形式读取目录 while(readdir(DIR)){ print $_."\n"; }
# 以数组形式读取目录 @dir = readdir(DIR); foreach (@dir){ print $_."\n"; }
# 目录句柄用完之后必须关闭 close(DIR);
# 通常会用grep过滤掉(.)和(..)目录 @files = grep(!/^\.\.?$/, readdir(DIR));
如何浏览目录、切换目录、创建目录、删除目录?
# 使用Cwd包,获取当前工作目录 use Cwd; print cwd, "\n"; chdir ‘../‘ or warn $!; # 改变当前目录 print getcwd;
print "DIrectory to create?"; my $newdir = <STDIN>; chomp $newdir; mkdir($newdir, 0755) or die $!; # 创建目录,权限为755 rmdir($newdir) or die $!; #删除目录
如何删除文件?给文件改名?
unlink <*.bat>; #删除匹配文件 $erased = unlink ‘old.exe‘, ‘a.out‘, ‘personal.txt‘; #删除列表文件,并返回已删除数量 unlink @badfiles; #删除列表内文件 unlink; #删除$_内文件
if (!rename "myfile.txt", "archive.txt"){ warn $!; }
第11学时 系统之间的互操作性
system()函数
捕获输出
第12学时 使用P e r l 的命令行工具
第13学时 引用与结构
第14学时 使用模块
第15学时 了解程序的运行性能
第16学时 P e r l 语言开发界
其他:
use Cwd ‘abs_path‘; #获取指定文件和目录的绝对地址 use warnings; $myfile= "fastq_R1.txt"; $mydir="./1"; print(abs_path($myfile)."\n"); #使用abs_path函数 print(abs_path($0)."\n"); print(abs_path($mydir)."\n");
以下是语法在只读模式打开file.txt的。这里小于< signe 指示,文件必须以只读模式运行结束
open(DATA, "<file.txt");
疑问:
1.qq()连接起来的列表似乎只有一个元素,因为用scalar()和join()连接起来都只发现一个元素???
以上是关于Perl 语法 - 高级特性的主要内容,如果未能解决你的问题,请参考以下文章