【发布时间】:2013-11-30 22:13:19
【问题描述】:
我正在为我在编程课上的第一个作业编写一个简单的 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("Can't open '$fileName': $!");部分代码。
现在它说目录中没有这样的文件,但我知道 test.txt 文件在那里,因为我刚刚创建了它。
代码结果图片:http://imgur.com/R8s7FFE
显示我的文件位置的文件目录:http://imgur.com/nUfM4lA)
【问题讨论】:
-
您确定您在正确的目录中吗?
use Cwd; print getcwd(), "\n";(或者只输入echo %cd% |或dir |作为你的文件名——但你真的应该使用带有显式模式的three-argument form ofopen()来防止这种伎俩。)
标签: perl file directory readline