如何在perl中执行命令的同一文件夹中输出文件

时间:2015-10-19 17:38:28

标签: perl

我有fastq_trimmer_command_line.pl。它有chmod 755,位于PATH的目录中。我从我想要输出的目录(~/data/output)运行此脚本,输入文件位于不同的文件夹(~/data)。

命令:

~/data/output$ fastq_trimmer_command_line.pl -f ../r1.fastq -r ../r2.fastq -c 22

fastq_trimmer_command_line.pl

...important details omitted...
open OUT_R1, ">", "$R1_file-trimmed.fq";

输出文件在输入文件所在的文件夹~/data中创建。如何在r1.fastq--trimmed.fq中创建~/data/output,这是执行命令的目录?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,如果输入文件是../r1.fastq,您希望输出文件为r1.fastq-trimmed.fq

use File::Basename qw( basename );

my $input_qfn = '../r1.fastq';
my $output_qfn = basename($input_qfn) . '-trimmed.fq';