Thread Bioinformatik
(14 answers)
Opened by jaqueline12 at 2015-06-21 01:38
Beim Einlesen von "Filehandles" ermöglicht Perl es, festzulegen, was als Trenner eines Datensatzes zu verwenden ist. Das könntest Du Dir hier zu nutze machen.
Klassisch ist der Zeilenumbruch als Trenner definiert. Wenn man nun also aus einer Textdatei liest, wird zeilenweise gelesen und jede Zeile enthält noch am Ende den Umbruch. Wenn man den Trenner auf einen anderen String setzt, passiert die Trennung eben bei diesem anderen String. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #! perl use strict; use warnings; # read data sequence from user my $data = "TGCAACTGCATACGTACTCGACTGCATT"; # read separator from user my $separator = "TG"; # split sequence into parts my @splitted = do { # open filehandle for input data; maybe a filename later? open( my $fh, '<', \$data ) or die "Could not open data."; # set input field separator (it is NOT removed from the resulting parts) local $/ = $separator; # read parts from filehandle (list context because of @splitted) <$fh>; }; # control; print each part in @splitted per line print join "\n", @splitted, ""; Siehe dazu auch: http://perldoc.perl.org/perlvar.html#$/ meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |