在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
文件测试 Perl的文件操作也可以先测试文件是否存在,是否可读写等,这样操作起来会更安全。如: $x="abc.txt"; if(-e $x) { #abc.txt是否存在? # 存在操作 } else { printf "文件不存在。\n"; } -e 操作符用于测试文件或目录是否存在。 以下为所有文件测试操作符的清单: 文件测试 测试操作符提供的信息 -r 文件或目录可读 -w 文件或目录可写 -x 文件或目录执行 -o 文件或目录归用户所有 -R 文件或目录对真正用户可读 -W 文件或目录对真正用户可写 -X 文件或目录对真正用户执行 -O 文件或目录归真正用户所有 -e 文件或目录存在 -z 文件存在且大小为0 -s 文件或目录存在且不为0(返回字节数) -f 文件为普通文件 -d 文件为目录 -l 文件为符号链接 -p 文件为命名管道(FIFO) -S 文件为一个套口(socket) -b 文件为块特殊文件 -c 文件为字符特殊文件 -t 打开tty控制台的文件句柄 -u 文件或目录是设置用户ID号 -g 文件或目录是设置用户组ID号 -k 文件或目录的sticky位置位 -T 文件是文本文件 -B 文件是二进制文件 -M 以天为单位的存在时间 -A 以天为单位访问时间 -C 以天为单位同代码更改时间 删除文件 Perl的 unlink() 操作符可实现删除文件。如: unlink("abc.txt"); # 删除abc.txt 文件重命名 Perl的rename()操作符可实现文件重命名。如: rename("abc","aka") || die "出错,不能更名"; 此时将文件 abc 更名为 aka,成功返回真,否则给出出错提示。 目录操作 Perl中处理目录非常类似于对文件的处理 打开目录句柄: opendir(ETC,"/etc")||die "出错,不能打开目录"; 关闭目录句柄 closedir(ETC); 创建目录: mkdir("aka",0777)||die "不能创建 aka 目录"; 0777 为文件权限描速数。 删除目录: rmdir("aka") || die "不能删除 aka 目录"。
7.6 进程管理 当你向系统 Shell 发送一个命令行时,Shell 创建一个进程来执行这个命令。这个新进程成为 Shell 的子进程,它的执行不依赖于 Shell 但又与 Shell 相互协调。 同样,Perl程序也能启动新进程。 使用system()和exec() 生成新进程的最简单的方法就是用 system 操作符。如: system("date"); 若要将输出送至now_day文件,则可以: system("date>now_day") || die "不能建立now_day文件"; 使用单引号 产生进程的另一方法是将 Shell 命令置于两个单引号之间。如: $nowday="现在时间:".'date' $nowday 的值为“现在时间:”和date命令的结果的连接。即:"现在时间:Fri Feb 18 23:49:23 PDT 1998" 综合范例 举一个综合例子,要求从date的输入中分析,周未时打印"周未了,轻松一下",否则打印"努力工作"。简洁的写法为: if('date'=~/^S/){ printf "周未了,轻松一下\n"; } else { printf "努力工作\n" } date 的输出格式第一个字节为星期,英语中恰好只有周未为 "S" 打头,因此使用了常规表达式判断第一个字符是否为S,即可达到要求。 |
请发表评论