我对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;
非常感谢任何帮助!
答案 0 :(得分:1)
使用$ENV{HOME}
,因为~
是特定于shell的。
$filename = '$ENV{HOME}/Documents/Alignments/Ref/Test/Try2.txt';