Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Length of strings in an array

by NetWallah (Canon)
on Sep 20, 2020 at 18:02 UTC ( [id://11121967]=note: print w/replies, xml ) Need Help??


in reply to Length of strings in an array

Here is a more "perl-ish" way to do this, using a perl "array" (@seq).

"push" adds stuff into the back of an array, while "pop" removes it.
"chomp" deletes the last "line ending" character(s), if they exist.
The "sort" uses the "Numeric compare" operator "<=>" to compare the length, and returns each item in the sorted array as "$_", which is then printed along with a newline (\n).
The sort BLOCK using "$a <=> $b" is a common/canonical perl idiom for numeric sort. Just accept that till you research it deeper. "$_" is commonly used as a "temporary" variable when the programmer is too lazy to give it a name.

use strict; use warnings; my @seq; # DNA sequence strings do{ print "Please enter DNA sequence (END to finish):"; push @seq , $_=<STDIN>; # First, assign whatever is read into $_, + then append it to @seq } until $_ eq "END\n"; pop @seq; # Remove the extra "END\n" entry; chomp @seq; # Remove line endings on each entry print "$_\n" for sort {length $a <=> length $b} @seq;
Note - this code is not limited to 4 entries - it requires an END to be entered after the last entry.

                "Imaginary friends are a sign of a mental disorder if they cause distress, including antisocial behavior. Religion frequently meets that description"

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11121967]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2024-04-24 03:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found