+ -
当前位置:首页 → 问答吧 → perl 如何对文件操作

perl 如何对文件操作

时间:2010-10-10

来源:互联网

#!/usr/bin/perl -w
unless (open (MYFILE, "file1")) {
    die ("cannot open input file file1\n");
    }

运行上面这个 结果提示
Name "main::MYFILE" used only once: possible typo at 1.pl line 2.
cannot open input file file1
请问 OPEN文件 需要USE 什么模块吗

作者: ztj2247   发布时间: 2010-10-10

  1. Name "main::MYFILE" used only once: possible typo at 1.pl line 2.
复制代码
只是一个提示,MYFILE 只被定义了,但是没有使用。
比如加上
  1. close MYFILE
复制代码
就不会再出现这个提示。

然后,要确认文件 file1 是否在当前路径下。

常用的 open 语句是
  1. open(FH, 'file') or die "cannot open input file file1\n$!\n";
复制代码
以提示打开文件的错误原因。

作者: longbow0   发布时间: 2010-10-10

多谢楼上 谢谢

作者: ztj2247   发布时间: 2010-10-10

本帖最后由 zhlong8 于 2010-10-10 16:23 编辑

因为你用 -w 打开了警告,所以perl会警告常见的错误,你没有用 use strict; 像这种只出现一次的变量很可能是 typo 第一个警告就是由此来。但是这个警告不影响程序的执行。
每二行说明你的程序执行了 die 语句,这说明打开文件失败,这里不是 perl 的缘故是系统错误,可能文件不存在或暂时无法打开,或别的什么原因具体原因在 $! 里面。一般像二楼那样检验,当然你的方法也可以。

总之你比较特别,但是并没有错。:mrgreen:

作者: zhlong8   发布时间: 2010-10-10