Thread system() in Perl mit multiplen Argumenten (15 answers)
Opened by LordK at 2016-07-03 14:59

Gast LordK
 2016-07-03 14:59
#184992 #184992
Hallo Zusammen,

ich bin jetzt seit geraumer Zeit dabei ein, wahrscheinlich sehr einfaches, Problem in Perl zu lösen..

Ansicht möchte ich nichts anderes, als das Programm "Mafft" über mein Perlskript zu starten. Hierzu wollte ich system() verwenden. Jedoch benötig mafft einige Angaben um "richtig" zu funktionieren.

Die von mir angefachte Lösung war folgende:
Code (perl): (dl )
1
2
my @test = ("mafft", "$file.fasta", "infile", "5", "1", "\n", "y", "q");
system(@test);

oder
Code (perl): (dl )
1
2
my @befehle = ("$file.fasta", "infile", "5", "1", "\n", "y", "q");
system("mafft", @befehle);


in beiden Fällen wird mir aber folgendes geliefert:
Code: (dl )
1
2
3
4
5
6
7
8
9
unknown option:  Persicaria_ITS.fasta.fasta

Unknown option: infile
Unknown option: 5
Unknown option: 1
Unknown option:

Unknown option: y
/usr/local/bin/mafft: Cannot open q.


Wenn ich:
Code (perl): (dl )
system("mafft", "$file.fasta");


verwende, wird die richtige Datei in Mafft eingelesen, jedoch nur mit den Standard Optionen und nicht denen, die ich benötige...

Jetzt habe ich durch unseren Freund Google gelesen, dass man anscheinend die Befehle in das Programm "Pipen" kann... jedoch versteh ich den Vorgang nicht.

Eventuell kann mir das jemand anhand meines Beispiels erklären oder hat eine andere Lösung parat?

Viele Dank schon einmal im Voraus :-)
Last edited: 2016-07-03 18:30:45 +0200 (CEST)

View full thread system() in Perl mit multiplen Argumenten