On Fri, 2008-11-28 at 11:56 -0800, slow_leaner wrote:
> Hello all, what am i missing!!!!!!!
> #!/usr/bin/perl -w
> @array_number =<STDIN>;
> @new_array = half( @array_number );
> print "@new_array\n";
> 
> sub half {
>   @numbers = @_;
>      while (<@numbers>){
>      @n = $_ / 2;
>      @new_a = pop(@n);
>    }
>      return @new_a;
> }
> 
> #I am calling a sub function "half".
> #but it return only the last element in to @new_array.
> #here what i am exception.
> #input      return
> #1 --------> 0.5
> #2 --------> 1
> #3 --------> 1.5
> Thanks.
> 
> 

You are confusing array variables with scalar variables.

#!/usr/bin/perl

use strict;
use warnings;

chomp( my $input = <STDIN> );
my @array_number = split /\D+/, $input;
my @new_array = half( @array_number );
print "@new_array\n";

sub half {
  my @numbers = @_;

  for my $number ( @numbers ){
    $number /= 2;
  }
  return @numbers;
}



-- 
Just my 0.00000002 million dollars worth,
  Shawn

The key to success is being too stupid to realize you can fail.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to