• perl 常用函数和符号


    文件测试

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

  • 相关阅读:
    pydbg系列[1]
    内核参与方式
    Debugging with GDB阅读[6]
    宏技巧解读
    右键-发送到-邮件接收者没有了的解决方法
    获得文件版本信息
    解决动态生成的SQL中特殊字符的问题 QuotedStr function
    CreateFileMapping的MSDN翻译和使用心得
    关闭Windows自动播放功能
    清凉明目茶
  • 原文地址:https://www.cnblogs.com/blueicely/p/2922361.html
Copyright © 2020-2023  润新知