Perl Programming Page 2 - Perl Lists: Utilizing List::Util |
The first{block}list subroutine, as stated above, returns the first value in a list. If you have a list that contains the following data, in this order: Hercules, Perseus, Theseus, and Mister T (basically a list of Greek heroes) and you use the first{block}list subroutine on it, then your result would be: Hercules. This is because he is the first piece of data in the list. Don't believe it? Let's go to the code: #!/usr/bin/perl use List::Util qw(first); @Greek=('Hercules','Perseus','Theseus','Mister T'); $Front = first {$_} @Greek; print $Front; The result? Hercules We can do the same with numbers: #!/usr/bin/perl use List::Util qw(first); @Nums=(1,2,3,4); $Front = first {$_} @Nums; print $Front; Which results in: 1 But what if we don't want just the first value in a list? What if we want to set certain criteria that must be met? We can do so by adding conditionals to our subroutine: #!/usr/bin/perl use List::Util qw(first); @Nums=(1,2,3,4); $Front = first {$_>2} @Nums; print $Front; In the above code, we modify the parameter by adding a greater than two conditional. Simply put, we want the first value larger than the number 2. The result, of course, is: 3 And likewise, we can also use things like AND and OR as well: #!/usr/bin/perl use List::Util qw(first); @Nums=(1,2,3,4); $Front = first {$_<5 && $_>3} @Nums; print $Front; Here, we use the following criteria: less than five, yet greater than three. This returns the number four.
blog comments powered by Disqus |
|
|
|
|
|
|
|