Stop spamming us with stop mail requests and use the instructions included
at the bottom of the email to unsubscribe.

To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/

On Fri, Oct 7, 2011 at 6:24 AM, ganesh vignesh <vigneshganes...@gmail.com>wrote:

> Stop mail
>
> On 10/6/11, Chris Stinemetz <chrisstinem...@gmail.com> wrote:
> > trying to learn smart matching in an exercise.
> >
> > Why does this program output "odd" when I input an even number?
> >
> > Thank you,
> >
> > Chris
> >
> > #!/usr/bin/perl
> >
> > use warnings;
> > use strict;
> >
> > use 5.010;
> >
> > say "Checking the number <$ARGV[0]>";
> >
> > my $favorite = 62;
> >
> > given( $ARGV[0] ) {
> >         when( ! /^\d+$/ ) { say "Not a number!" }
> >
> >         my @divisors = divisors( $ARGV[0] );
> >
> >         when( @divisors ~~ 2 ) { # 2 is in @divisors
> >                 say "$_ is even";
> >                 continue;
> >                 }
> >
> >         when( !( @divisors ~~ 2 ) ) { # 2 isn't in @divisors
> >                 say "$_ is odd!";
> >                 continue;
> >                 }
> >
> >         when( @divisors ~~ $favorite ) {
> >                 say "$_ is divisible by my favorite number";
> >                 continue;
> >                 }
> >
> >         when( $favorite ) { # $_ ~~ $favorite
> >                 say "$_ is my favorite number";
> >                 continue;
> >                 }
> >
> >         my @empty;
> >         when( @divisors ~~ @empty ) { say "Number is prime" }
> >
> >         default { say "$_ is divisible by @divisors" }
> >         }
> >
> > sub divisors {
> >         my $number = shift;
> >
> >         my @divisors = ();
> >         foreach my $divisor ( 2 .. ($ARGV[0]/2 + 1) ) {
> >                 push @divisors, $divisor unless $number % $divisor;
> >                 }
> >
> > return @divisors;
> >
> > --
> > To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> > For additional commands, e-mail: beginners-h...@perl.org
> > http://learn.perl.org/
> >
> >
> >
>
> --
> Sent from my mobile device
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
>

Reply via email to