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

Re^3: New student, can we write this program in perl...

by choroba (Abbot)
on Oct 19, 2012 at 17:15 UTC ( #999986=note: print w/ replies, xml ) Need Help??


in reply to Re^2: New student, can we write this program in perl...
in thread New student, can we write this program in perl...

I would change your program to this one:

#!/usr/bin/perl use warnings; use strict; print 'Enter the number of elements: '; my $n = <>; # Read the input. chomp $n; # Remove the newline. print "Enter $n numbers.\n"; my @a; for (1 .. $n) { push @a, scalar <>; # Push numbers to the +array. } chomp @a; # Remove the newlines. print join (' ', 'The even numbers are:', grep $_ % 2, @a), # grep filters the num +bers = 1 modulo 2 "\n"; print join (' ', 'The odd numbers are:', grep 1 - $_ % 2, @a), "\n";
Not really similar, is it? The main differences:
  • No main function needed.
  • Variables are declared where needed.
  • The diamond operator is used to read from the input.
  • for can be used with simpler syntax, avoiding off by 1 errors (see perlsyn)
  • grep can be used to filter arrays. No need for temporary variables to keep the results if you do not need them later.
لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ


Comment on Re^3: New student, can we write this program in perl...
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2014-09-23 00:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (208 votes), past polls