关闭文件句柄上的Perl Readline - 文件不存在错误

时间:2013-11-17 21:19:51

标签: perl file directory readline

我正在编写一个简单的perl程序,用于我在编程课程中的第一个作业。我真的被困在第一部分超过一天。我不能让我的程序只是打开一个与程序在同一目录下的文本文件。

#!/usr/bin/perl -w
use strict;

my($fileName, $line);

print "Please enter name of file to be opened: ", "\n";
$fileName = <STDIN>;
chop($fileName);

#Associates FILE filehandle with the file: "filename.txt"
open(FILE, $fileName) or die("Can't open '$fileName': $!");

while(my $line = <FILE>){
    print $line;
}

我正在使用草莓perl。要运行程序,我将程序拖放到命令行以获取程序的地址。然后它尝试运行它。

它最初给了我一个关闭文件句柄错误的readline,然后我包含了or die(“无法打开'$ fileName':$!”);部分代码。

现在它说目录中没有这样的文件,但是我知道test.txt文件就在那里,因为我刚刚创建了它。

代码结果的图片:http://imgur.com/R8s7FFE

显示我的文件位置的文件目录:http://imgur.com/nUfM4lA

2 个答案:

答案 0 :(得分:1)

你是否意识到你正试图打开C:\User\jacjar\Documents\test.txt

答案 1 :(得分:1)

提示符显示C:\Users\jacjar\Documents作为当前工作目录

所以这是程序寻找test.txt

的地方

但它不在那个目录中

text.txt位于L:\College\Junior Year\1st Semester\COSC 320 (Programming Languages)

将您的test.txt文件移至上面显示的C:路径,它将起作用