#!/usr/bin/perl -w use strict; use List::Util (qw/first/); #a core function in all Perl's use List::MoreUtils (qw/first_index/); #not core but a common module #first{} stops at the first occurrence, slightly faster than grep{} #first_index() reports index of {block} while (my $line = <DATA>) { my @array = split /\s+/, $line; print "A One is in: $line" if (first {$_ == 1}@array); my $index = first_index{$_ == 1}@array; print "index of the One=\[$index\]\n" if $index >-1; } =output A One is in: 5 10 14 16 17 20 25 26 38 1 42 47 54 index of the One=[9] A One is in: 5 1 index of the One=[1] A One is in: 1 2342 index of the One=[0] =cut __DATA__ 5 10 14 16 17 20 25 26 38 1 42 47 54 5 10 14 16 17 20 25 26 38 42 47 54 5 1 4 10 1 2342 34 55
In reply to Re: Foreach loop
by Marshall
in thread Foreach loop
by PetreAdi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |