Thread Windows Problem mit Tie::File
(4 answers)
Opened by BlackSheep at 2012-01-04 16:58
Trotzdem kannst du mehr Fehlermeldungen machen.
Und eine Parameterübergabe wäre vorteilhaft. Mit globalen Variablen zu spielen ist nicht schön. 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 28 29 30 31 32 sub Read { # parameter übernehmen my $rls=shift(); my $readseq = ''; my $readname = ''; my $file='C:\Users\Blub\Read\reads.fasta'; if( tie(my @lines, 'Tie::File',$file) ){ if( defined $lines[$rls] ) { $readname = $lines[$rls-1]; $readname = substr( $readname, 0, 10 ); $readname =~ s/\D//g; $readseq = $lines[$rls]; $rls += 2; } else{ if( $#lines < $rls ){ warn("Line $rls don't exists! There are only ".@lines." Lines!\n"); } else{ warn("Line $rls is not defined!\n"); } $switch = 'false'; $readname = 'false'; } untie @lines; } else{ warn("Can't tie File $file ($!)\n"); } return( $readname, $readseq ); } Wenn es dir wichtig ist, die Linux-Datei ohne Konvertierung weiter nutzen zu können mache in der Funktion vor dem tie: Code (perl): (dl
)
local $/="\x0A"; Damit wird der Recordseparator passend gesetzt. |