Perl动态输入文件

时间:2018-05-08 15:19:36

标签: perl input

我需要在此行中输入一个变量来动态处理多个文件:

open (INFILE, "< your_input.fa") 

我不知道如何使用Perl实现这一目标。我通常会以类似的方式使用bash命令:

NAME1=$PWD
NAME=$(basename "$NAME1") 

bwa mem $NAME.fastq.gz

其他信息:

文件名在前6个字符中有所不同,但有常规后缀:

xx-nnn_regular.txt

文件位于以前六个字符命名的目录中:

xx-nnn > xx-nnn_regular.txt

我查看了Perl手册,但我没有编程背景,有人请帮帮我吗?

How do I run a Perl script on multiple input files with the same extension? 我用这里的信息来回答我的问题 - 谢谢!

1 个答案:

答案 0 :(得分:0)

当我将fq文件转换为fa文件时,我必须打开一个动态文件进行写入。我有我试图转换为命令行参数的文件,因此负责的代码是这样的。

 my $directory = "output";
 if ($ARGV[0] =~ /^(\S*).fq/) {
     $location = $1;
 }
 open (OUTPUT, ">$directory/$location.fa");

您可以在文件的开头使用变量。

此代码应该为您动态打开文件,但输入文件的方式无疑会与我的解决方案不同。

希望这有帮助。