Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Entering the land of Perl

by choroba (Bishop)
on Apr 04, 2013 at 21:38 UTC ( #1027037=note: print w/replies, xml ) Need Help??

in reply to Entering the land of Perl

Hello manbroski, welcome to the Monastery!
Prototypes are seldom used in Perl. It is usually enough to pass a reference as the argument directly:
Moreover, counting characters in a string is idiomatically done via the tr operator. We know in advance that the possible characters are A, C, T and G only, so you can write:
#!/usr/bin/perl use strict; use warnings; use feature qw(say); my $s = shift; say join " ", map eval "$s =~ tr/$_//", qw/A C G T/;
Which was exactly my solution to the DNA problem on Rosalind :-)
لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^2: Entering the land of Perl
by manbroski (Initiate) on Apr 04, 2013 at 21:51 UTC

    That, sir, is a beauty.

    Anything functional (in the map-reduce sense) makes me quite happy. You have my thanks.

    EDIT: what version is this? 5.16 'use strict' returns all zeros for each count. Does that provide the function return code?

      The shift requires the string as an argument of the script. If you want to read it from a file, you have to use
      $s = <>;
      instead and provide the input file as the argument.
      لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027037]
and the grasshoppers chirp...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2018-06-23 01:34 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.