Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: If any element-in-array comparision

by fisher (Priest)
on Jan 27, 2012 at 16:29 UTC ( [id://950412]=note: print w/replies, xml ) Need Help??


in reply to Re^2: If any element-in-array comparision
in thread If any element-in-array comparision

Yes, you're of course right. By stating that 'you need to go through list' I meant that general algorythm goes through list at least once and this is a must. What you will use for that task - List::Utils or grep or your own cycle - isn't important in this context.

And of course I can provide some code snippets, but I feel that this would be a bad idea for OP who doesn't show us a line of his own.
  • Comment on Re^3: If any element-in-array comparision

Replies are listed 'Best First'.
Re^4: If any element-in-array comparision
by naturalsciences (Beadle) on Jan 27, 2012 at 16:51 UTC
    well my own code was like this.
    #!/usr/bin/perl -w use strict; use warnings; my @data=<>; foreach (@data) { my @row=split(/\t/, $_); my $otuhead=shift(@row); my $logic=1; foreach (@row) { if ($_>=0.01){$logic++;} } if ($logic!=1){print "$otuhead @row";} $otuhead=(); }

    And yes I am acutely aware that the basic algorithm for finding out max, min etc. from a list has actually go through the list. I was just looking for utilities, commands, or whatnot that can make it well ... look nice would probably be the best explanation. Something that does not need extra curly brackets and extra declared variables. Extra space and hmm more general eyestrain. The question was more motivated by general curiosity than an actual need for this current problem. Which I have already solved (probably quite horribly as people soon will point out I guess :D)

    edit: in code I shift off the first element -because it is a header and therefore not numerical.

      Well, ok, then, in addition to other's versions ++ mine:
      #!/usr/bin/env perl use strict; use warnings; my @akj = (0.11, 0.05, 0.02); print join ",", @akj if grep {$_>0.1} @akj;
        Well that's a quite nice and clean looking piece. Something like that I was looking for. Also looks like chessgui-s premonitions were right. :D

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (6)
As of 2024-04-19 06:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found