我有这个Perl代码,它在DATA部分有硬编码的输入数据:
__DATA__
M19, Q, P,
M31, M19, Pl,
M420, M31, E,
M421, M31, E,
M33, M31, E,
M438, M33, Pl,
M445, M33, E,
M437, M33, E,
此硬编码数据正在由以下代码处理:
split /,\s*/ for <DATA>;
我已将数据复制到与代码相同的目录中的单独input.txt文件中。但我希望将文件作为用户输入读取。但我不知道如何以与__DATA__
相同的方式读取输入文件。这是我正在使用的,不起作用:
print ("Enter the file")
用户输入input.txt
:
chomp(my $file=<STDIN>);
答案 0 :(得分:1)
尝试此操作以获取用户输入的文件名:
print "enter the file name\n";
chomp(my $file=<STDIN>);
open(DATA,$file) or die "failed to open this file!!"; #this will open the file in the file-handle DATA if the file exists in the same directory else it will die
现在您可以按照以下方式通过拆分功能拆分内容:
split /,\s*/ for <DATA>;
答案 1 :(得分:0)