• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

perl常用函数和符号

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

文件测试

      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,即可达到要求。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
利用Perl解析XML文件[转]发布时间:2022-07-22
下一篇:
Perl的内置变量$|发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap