in reply to Finding error: uninitialized value in concatenation?
One easy way to turn undef's into reasonable values is this idiom:print FILE ">$giName $gssName $definition\n$sequence";
I don't see a lot to optimize, but here are my suggestions:$giName ||= " ";
# makes array interpolate with newlines local $" = "\n"; # Pull my variable declarations outside the inner loop. my ($giName, $gssName, $definition, $sequence, @seq); while (($giName, $gssName, $definition, $sequence) = $sth2->fetchro +w_array ) { $sequence = uc( $sequence ); # If I'm right about your data, you just want to # turn the whitespace into newlines. # The following should be faster. @seq = split /\s+/,$sequence; # For any fields that can be null: $giName ||= " "; # Less interpolation will be faster, but we need it # for the array. print FILE ">",$giName," ",$gssName," ",$definition,"\n","@seq", +"\n"; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Finding error: uninitialized value in concatenation?
by bwelch (Curate) on Mar 02, 2005 at 18:59 UTC | |
by tall_man (Parson) on Mar 02, 2005 at 23:36 UTC |