1 #!/usr/bin/perl -w 2 3 use strict; 4 use List::MoreUtils qw/:all/; 5 6 my @ary = qw/1 3 4 5/; 7 my $search_value = 3; 8 9 if ( any { $_ == 3 } @ary ) { 10 print "At least one element of the \@ary equal $search_value\n"; 11 } 12 else { 13 print "No one element of the \@ary equal $search_value\n"; 14 } 15 # At least one element of the @ary equal 3 16 17 if ( all { $_ =~ /^\d+$/ } @ary ) { 18 print "All elements in \@ary are digit\n"; 19 } 20 else { 21 print "Not all elements in \@ary are digit\n"; 22 } 23 # All elements in @ary are digit 24 25 my $count = true { $_ < 5 } @ary; 26 print "$count elements in \@ary are less then 5\n"; 27 # 3 elements in @ary are less then 5 28 29 my $first_index = firstidx { $_ == 4 } @ary; 30 print "First index of value 4 in \@ary is $first_index\n"; 31 # First index of value 4 in @ary is 2 32 33 insert_after { $_ == 1 } 2 => @ary; 34 print "@ary\n"; 35 # 1 2 3 4 5 36 37 my @multi = apply { $_ *= 2 } @ary; 38 print "@ary\n"; 39 print "@multi\n"; 40 # 1 2 3 4 5 41 # 2 4 6 8 10 42 43 my @indexes = indexes { $_ % 2 == 0 } @ary; 44 print "@indexes\n"; 45 # 1 3 46 47 my %pairwise = pairwise { $a, $b } @ary, @multi; 48 for ( sort { $a <=> $b } keys %pairwise ) { 49 print "$_ => $pairwise{$_}\n"; 50 } 51 # 1 => 2 52 # 2 => 4 53 # 3 => 6 54 # 4 => 8 55 # 5 => 10 56 57 my $iterator = natatime 4, (10..25); 58 while ( my @row = $iterator->() ) { 59 print "@row\n"; 60 } 61 # 10 11 12 13 62 # 14 15 16 17 63 # 18 19 20 21 64 # 22 23 24 25 65 66 my @new_ary = zip @ary, @multi; 67 print "@new_ary\n"; 68 # 1 2 2 4 3 6 4 8 5 10 69 70 my $scalar_return = uniq @new_ary; 71 print "There are $scalar_return unique elsements in the \@new_ary\n"; 72 my @ary_unique = uniq @new_ary; 73 print "Array with unique elements is @ary_unique\n"; 74 # There are 8 unique elsements in the @new_ary 75 # Array with unique elements is 1 2 4 3 6 8 5 10 76 77 my @_2003 = qw/2 4 6 2 6 2 1 7 5 3 4 2/; 78 my @_2004 = qw/4 4 5 2 7 2 1 7 4 3 3 2/; 79 my @_2005 = qw/1 3 7 4 4 2 0 8 6 2 4 1/; 80 81 $iterator = each_array(@_2003, @_2004, @_2005); 82 while ( my ($_2003,$_2004,$_2005) = $iterator->() ) { 83 print "$_2003 + $_2004 + $_2005 = ", $_2003 + $_2004 + $_2005, "\n"; 84 } 85 # 2 + 4 + 1 = 7 86 # 4 + 4 + 3 = 11 87 # 6 + 5 + 7 = 18 88 # 2 + 2 + 4 = 8 89 # 6 + 7 + 4 = 17 90 # 2 + 2 + 2 = 6 91 # 1 + 1 + 0 = 2 92 # 7 + 7 + 8 = 22 93 # 5 + 4 + 6 = 15 94 # 3 + 3 + 2 = 8 95 # 4 + 3 + 4 = 11 96 # 2 + 2 + 1 = 5