1

我想打开一个文件,其名称应作为字符串提供给 Perl 中的 open() 函数。如何实现。

我有下面显示的以下代码,它在第二个打开语句中显示了一些错误

use strict;
use warnings;

my $globalpath = "/lhome/tirumala2/cvadlapu_view2/3rdparty/embedded/bsa_examples/linux/";
my $line;
open (TEXT_FILE, "/lhome/tirumala2/DDT_expect_module/test_strings.txt"); 

while ($line = <TEXT_FILE>) 
{
   print "$line";
   open ( APP_FILE, "/lhome/tirumala2/cvadlapu_view2/3rdparty/embedded/bsa_examples/linux/$line/source/$line.c") or die "Cant open application file";

}
4

1 回答 1

2
  1. 首先总是使用三个参数 open
  2. 您没有$globalpath在显示的代码中使用变量。
  3. 可能有一些数据以及newline character变量$line。所以试着先咀嚼它,看看,它应该可以工作。

尝试类似:

while ($line = <TEXT_FILE>)  { 
chomp $line;   # need to chomp the $line
print "$line";    
open ( my $app_file, "<" , "/lhome/tirumala2/cvadlapu_view2/3rdparty/embedded/bsa_examples/linux/$line/source/$line.c") or die "Cant open application file: $!";  
} 
于 2012-05-07T06:19:44.793 回答