$shellstring = '-v -in src_alignment.fasta '; foreach my $key (keys(%{$param})) { CASE: { if ($key eq 'groups') { $shellstring .= '-groups "'.$param->{'groups'}.'" '; last CASE; } if ($key eq 'ngra') { $shellstring .= '-ngra '; last CASE; } if ($key eq 'gh') { $shellstring .= '-gh '.$param->{'gh'}.' '; last CASE; } if ($key eq 'sa') { unless ($param->{'ca'}) { $shellstring .= '-sa '; } # '-ca' overrides '-sa' last CASE; } if ($key eq 'ca') { $shellstring .= '-ca '; last CASE; } if ($key eq 'cg') { $shellstring .= '-cg '; last CASE; } } } #### if ($key eq 'groups') { if ($param->{$key} =~ m/[^0-9\,\-\|]/) { # check for illegal characters in group-definition print "\n>>> Illegal characters in groups-definition '".$param->{$key}."'! Only 0-9 and , and - and | are allowed!\n"; $error = 1; } last CASE; } if ($key eq 'gh') { if ($param->{$key} =~ m/[^0-9]/) { print "\n>>> Illegal characters in graph-height '".$param->{$key}."'! Only 0-9 are allowed!\n"; $error = 1; } last CASE; }