当前位置: 首页 > 工具软件 > Perl > 使用案例 >

perl 中的 <>

钦德佑
2023-12-01

    perl的命令行参数保存在@ARGV中,而<>以@ARGV为默认参数。当然可以对@ARGV进行赋值操作,以改变<>的输入文件。命令行的当前执行文件名保存在$0中。

    当@ARGV为空的时候即命令行输入为./zzbds.pel(执行文件名)   时,<>的意思为从STDIN中输入,以文件结束符为结尾。

    此时: (while(<>)) = (while(my @enterfile = <STDIN>))

    当@ARGV不为空的时候,<>将后面的参数按空格区分为文件名,一个个进行打开操作。实际事例如下:

    命令行:  ./2zzbds.test  askdf lkjef lkjef lkj  tttest    (其中2zzzbds.test为perl文件; tttest 为当前目录存在的文件  其他不存在)

    perl中命令如下:

        while(<>){
                print;
        }

    输出结果如下:

    Can't open askdf: 没有那个文件或目录 at ./2zzbds.test line 6.    (这里将几个参数作为文件名进行打开操作,打开失败,报warning)
    Can't open lkjef: 没有那个文件或目录 at ./2zzbds.test line 6.
    Can't open lkjef: 没有那个文件或目录 at ./2zzbds.test line 6.
    Can't open lkj: 没有那个文件或目录 at ./2zzbds.test line 6.

    Version:2.1   (这里为tttest文件的内容)
    Size:21k
    Status:Final beta
    om name:granite
    Author: Randal L. Schwart
    Company:RockSoft
    Department:R&D
    Date:June 12,2008 6:38 pm
    Version:2.1
    Size:21k
    Status:Final beta
    zjktcsv4%


    当然还有常见的打开文件用法:

    open FILE, "<tttest";   (打开只读文件tttest)

    while(<FILE>) (为读取tttest文件到文件介绍符: 一般linux系统终端输入为ctrl+D)

    还有打开已有的默认文件句柄:

    while(<STDIN>)  while(<STDOUT>)



       

   

 类似资料: