[EMAIL PROTECTED] wrote:
> Hi,
> In the script below, I have an array @datas with its elements consisting of 
> numbers like this :-
>
> my @datas = (
>     '1 2 3',  '1 2 4', '1 2 7',  '1 2 8', '1 2 9', '1 6 7',
>     '1 7 12', '2 6 7', '4 5 10', '4 5 15'
> );
>
> Out of the above list, I wish to generate a seperate array so that among 
> their elements, there should not be any 2 numbers that can match and so the 
> output should be :-     1 2 3  
>             1 6 7
>             4 5 10
>
> I therefore have written the script below and have tested the script to be 
> working. What is the easier way to write this script?
> Thanks
>
> ##### start of script ##############
> use strict;
> use warnings;
>
> my @datas = (
>     '1 2 3',  '1 2 4', '1 2 7',  '1 2 8', '1 2 9', '1 6 7',
>     '1 7 12', '2 6 7', '4 5 10', '4 5 15'
> );
> my $numbers_wanted = 2;
>
> my @datawanted     = ();
> my $marker         = scalar @datas;
> my $splice_counter = 0;
> my @datas_iterator = ();
>
> while ($marker) {
>     $splice_counter = 0;
>     push @datawanted, splice @datas, 0, 1;
>     my @comparator1         = split / /, $datawanted[-1];
>     my $temp_datas_iterator = scalar @datas - 1;
>
>     foreach ( 0 .. $temp_datas_iterator ) {
>         my $counter     = 0;
>         my @comparator2 = split / /, $datas[ $_ - $splice_counter ];
>
>         foreach (@comparator2) {
>             my $a = $_;
>             foreach (@comparator1) {
>                 if ( $a == $_ ) {
>                     $counter++;
>                 }
>             }
>         }
>         if ( $counter >= $numbers_wanted ) {
>             splice @datas, $_ - $splice_counter, 1;
>             $splice_counter++;
>         }
>     }
>     $marker = scalar @datas;
> }
>
> foreach (@datawanted) {
>     print "$_\n";
> }
>
>
>   
I don't have the solution yet but shouldn't the answer be

1 6 7
and
4 5 10 only ?

it's printing out 1 2 3 as well which is wrong?

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


Reply via email to