my ($template_name, $Prefix, $Seq1File,$Seq2File,$Align_Reference,$Chromosome_list,$Reference,$KnownSites ) = @ARGV; GetOptions ('template_config=s' => \$template_name, 'Project=s' => \$Prefix, 'Fasta_seq1=s' => \$Seq1File, 'Fasta_seq2=s' => \$Seq2File, 'Ref_align=s' => \$Align_Reference, 'Chr_list=s' => \$Chromosome_list, 'Ref=s' => \$Reference, 'Sites=s' => \$KnownSites); open my $in_fh, '<', $template_name; my %field = map { s/^\s+|\s*\n$//g; $_; } grep { !/^\s*#|^\s*$/ } <$in_fh>; close $in_fh; foreach my $spec (sort keys %field) { if($spec =~ m/Output\s+Prefix/) { $field{$spec} = $field{$spec} .= $Prefix; } elsif ($spec =~ m/Sequence\s+file\s+1/) { $field{$spec} = $field{$spec} .= $Seq1File; } elsif ($spec =~ m/Sequence\s+file\s+2/) { $field{$spec} = $field{$spec} .= $Seq2File; } elsif ($spec =~ m/Align_Reference/) { $field{$spec} = $field{$spec} .= $Align_Reference; } elsif ($spec =~ m/Chromsome\s+List\s+file/) { $field{$spec} = $field{$spec} .= $Chromosome_list; } elsif ($spec =~ m/Reference/) { $field{$spec} = $field{$spec} .= $Reference; } elsif ($spec =~ m/Known\s+sites/) { $field{$spec} = $field{$spec} .= $KnownSites; } } # Print it to an output file { #open my $output_file = './test_processing.txt'; open my $out_fh, '>', './complete_nicu.txt'; foreach my $key (keys %field) { print $out_fh "$key\n"; print $out_fh "$field{$key}\n"; print "$field{$key}\n"; } close $out_fh; }