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/