bis Ende der Zeichenfolge habe ich eine Datei mit vielen Zeilen wie diese:Perl-Capture und fügen
ChrVIII_A_nidulans_FGSC_A4 AspGD gene 3861520 3863875 . + . ID=AN0338;Name=AN0338;Gene=CYP680A1;Note=Putative%20cytochrome%20P450;orf_classification=Uncharacterized;Alias=ANIA_00338,ANID_00338
Meine Region von Interesse ist ;Gene=_____;
- das Zeug zwischen den =
und ;
.
Wenn diese Region existiert, möchte ich sie an das Ende der Linie mit einem, an der Vorderseite angehängt. Wenn es nicht existiert, möchte ich die Zeile trotzdem ausdrucken!
ChrVIII_A_nidulans_FGSC_A4 AspGD gene 3861520 3863875 . + . ID=AN0338;Name=AN0338;Gene=CYP680A1;Note=Putative%20cytochrome%20P450;orf_classification=Uncharacterized;Alias=ANIA_00338,ANID_00338,CYP680A1
Dies ist, was ich in Perl versucht habe und ich weiß nicht, warum es nicht funktioniert.
use strict;
use warnings;
open(SOURCE,"<annotation.gff") or die "Source file not found!\n";
my $line1;
foreach $line1(<SOURCE>) #iterating over SOURCE file
{
if($line1=~/Gene\=([a-zA-Z0-9\-]+)\;/)
printf "$line1,$1";
}
else {printf "$line1";}
}
Kann mir jemand zeigen, was ich falsch mache?
Der Code, den Sie nicht gepostet nicht wegen einer fehlenden kompilieren {. Veröffentlichen Sie den Code, den Sie tatsächlich verwenden. – toolic
Wenn ich den Kompilierfehler behebe, sehe ich Warnmeldungen. Nicht wahr? – toolic
'chomp' dass $ line1 – toolic