Perl中的IO错误 - 找不到输入文件。

时间:2013-12-02 12:36:05

标签: perl io

我对perl中的编程非常陌生,我正在尝试编写一个脚本来接受文本输入,将其分配给标量变量,然后将输入打印到屏幕上。我的脚本不断抛出“没有这样的文件或目录〜/ Documents / Alignments / Ref / Test / Simple2.pl第11行”的错误。看起来它正在寻找脚本中的输入,而不是在父目录中。我尝试了多种解决方法,比如将文件名设置为文本文件,如:

$filename = 'Try2.txt';

但它一直给我同样的错误。我确定我错过了一些非常明显的东西,但它让我不知所措。

完整脚本:

#!/usr/bin/perl
use warnings;

#Define filename
$filename = '~/Documents/Alignments/Ref/Test/Try2.txt';

#open the file or exit
open (FILE, $filename) or die "Could not open FILE, $!";

#assign data to scalar variable $seqfile
$seqfile = <FILE>;

#close
close FILE;

#output data
print "Here is the sequence data \n\n";
print $seqfile;
exit;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

使用$ENV{HOME},因为~是特定于shell的。

$filename = '$ENV{HOME}/Documents/Alignments/Ref/Test/Try2.txt';