我正在尝试使用perl命令打开文件。当我在文件路径之间传递变量时,perl无法打开文件:(此处 $ line )
open(FL, "<C:/Users/admin/Documents/Projects/$line/project.txt") or die "Could not open file $!";
如果我尝试通过在路径中传递完整路径而不是变量($ line)来打开文件,Perl就能够成功打开文件:
open(FL, "<C:/Users/admin/Documents/Projects/projectName/project.txt") or die "Could not open file $!";
有人可以指导我如何实现这一目标。我有一个项目列表,我不能手动传递每个项目的名称,但我需要通过将 projectName s作为变量 $ line 来实现。
注意:所有 $ line 变量都是我的 projectName s 。
答案 0 :(得分:4)
您是否正在从其他文件中读取项目名称?如果是,您是否记得最后删除\n
(使用chomp $line
或类似内容)?
答案 1 :(得分:1)
假设你的$line
有一些不允许的特殊字符,所以我们购买了这个角色,使用quotemeta
$line = qutoemeta($line);
open my $fh, "<" ,$line or die "Error opening $!";
您将按$!
修正错误。您已经在代码中添加了它。
请按照它的说法。