in reply to Re^2: I'm trying to consolidate my functions into subroutines
in thread I'm trying to consolidate my functions into subroutines

> Explain

sub name { print $a; .... }

not

sub name { print $a; .... }

> Except subroutines are supposed to be reusable.

in which language?

Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Je suis Charlie!

Replies are listed 'Best First'.
Re^4: I'm trying to consolidate my functions into subroutines
by Peter Keystrokes (Beadle) on May 13, 2017 at 17:00 UTC

    Is there any discernible improvement in this?

    ##Invoking subroutines HashSequences(); SpecifySeqLengths(my $id, my %seq); ## Open file. Hash sequences. Make the sequence IDs the keys to their ## respective (hashed) sequences. sub HashSequences{ open F, "human_hg19_circRNAs_putative_spliced_sequence.fa", or die + $!; my %seq = (); my $id = ''; while (<F>){ chomp; if ($_ =~ /^>(.+)/){ $id = $1; }else{ $seq{$id} .= $_; } } close F; return (%seq, $id); } ## Request sequence length desired. Sieve sequences of given length in +to ## arrays. Create file containing desired sequences. sub SpecifySeqLengths{ print "Enter Max sequence length: \n"; my $maxlength = <STDIN>; chomp $maxlength; print "Enter Min sequence length: \n"; my $minlength = <STDIN>; chomp $minlength; my @seqarray; foreach $id (keys %seq){ if ((length$seq{$id} <= $maxlength) && (length$seq{$id} >= $mi +nlength)){ push @seqarray, $id; } } for $id (@seqarray){ if (-f $id){print $id, " already exists. It is about to be ove +rwritten"}; open new_F, '>>', "SeqLength_$minlength-$maxlength", or die$!; print new_F ($id."\n".$seq{$id}."\n"); close new_F; } }
      Yes, the people who you are asking for free help are able to read it better.