Die Probleme sehen eben so aus, dass ich mit:
$line =~ s/\s+/\t/g ; So nimmt er natürlich auch den Zeilenumbruch weg.
$line =~ s/\s+/\t/s; funktioniert nur nach der ersten Spalte.
$line =~ s/\s{2,}/\t/s ; So klappt es fast bis auf die 2 Spalten die nur durch einen Space getrennt sind.
So sieht zur Zeit mein Code aus:
#!c:\perl\bin\perl
use strict;my $Path="C:/Documents and Settings/radolf/My Documents/ForAnnotation/MGI_Jackson_Originals/Test";
chdir($Path);
open(FH,"test1.txt") or die "Can not find the file test.txt";
my @input=<FH>;
close FH;
foreach my $line(@input)
{
$line =~ s/\s+/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
$line =~ s/\s{2,}/\t/s ;
}
open(OUT,">test2.txt");
print OUT @input;
close(OUT);
Ich probier mal hier den Text rein zu kopieren.
MGI:1918918 381629 0610007C21Rik 5 syntenic 51374 C2orf28 2p23.3 B
MGI:1918917 71667 0610007L01Rik 5 syntenic F 55069 C7orf42 7q11.21 C
MGI:1923501 76251 0610007P08Rik 13 syntenic B3 375748 C9orf102 9q22.32 M
MGI:1915571 58520 0610007P14Rik 12 syntenic 11161 C14orf1 14q24.3 B
MGI:1915577 68327 0610007P22Rik 17 syntenic 115939 C16orf42 16p13.3 C
MGI:1913305 66055 0610009D07Rik 12 syntenic 51639 SF3B14 2pter-p25.1 C
MGI:1914089 66839 0610009O20Rik 18 syntenic B3 9812 KIAA0141 5q31.3 C
Datum: 06.04.2009-07:48
