How to Filter Elements of an Array based on a Condition in Perl


How to Filter Elements of an Array based on a Condition in Perl ?

Answer

To filter elements of an array based on a condition in Perl, you can use built-in functions like grep or map along with subroutines or anonymous functions.



✐ Examples

1 Filter Even Numbers

In this example,

  1. We have an array named @numbers containing integers.
  2. We use the grep function with an anonymous subroutine to filter out even numbers into a new array named @even_numbers.
  3. We print the filtered array to demonstrate the filtering.

Perl Program

@numbers = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
@even_numbers = grep { $_ % 2 == 0 } @numbers;
print "Even Numbers: @even_numbers\n";

Output

Even Numbers: 2 4 6 8 10

2 Filter Strings by Length

In this example,

  1. We have an array named @words containing strings.
  2. We use the grep function with an anonymous subroutine to filter strings by their length into a new array named @filtered_words.
  3. We print the filtered array to demonstrate the filtering.

Perl Program

@words = ("apple", "banana", "cherry", "date", "fig");
@filtered_words = grep { length($_) > 5 } @words;
print "Filtered Words: @filtered_words\n";

Output

Filtered Words: banana cherry

Summary

In this tutorial, we learned How to Filter Elements of an Array based on a Condition in Perl language with well detailed examples.




More Perl Arrays Tutorials

  1. How to Declare an Array in Perl ?
  2. How to Initialize an Array in Perl ?
  3. How to Access Array Elements in Perl ?
  4. How to Access Array Elements using Index in Perl ?
  5. How to get First Element in Array in Perl ?
  6. How to get Last Element in Array in Perl ?
  7. How to check if an Array is Empty in Perl ?
  8. How to check if an Array is Not Empty in Perl ?
  9. How to get Sub Array in Perl ?
  10. How to Get Array Length in Perl ?
  11. How to Iterate Over an Array in Perl ?
  12. How to Iterate Over an Array in Reverse Order in Perl ?
  13. How to get the Index of Specified Element in an Array in Perl ?
  14. How to check if Specified Element is present in the Array in Perl ?
  15. How to count the Number of Occurrences of Specified Element in the Array in Perl ?
  16. How to Sort an Array in Perl ?
  17. How to Sort an Array in Ascending Order in Perl ?
  18. How to Sort an Array in Descending Order in Perl ?
  19. How to create a Two Dimensional Array in Perl ?
  20. How to Iterate over a Two Dimensional Array in Perl ?
  21. How to create a Three Dimensional Array in Perl ?
  22. How to Copy an Array in Perl ?
  23. How to Split an Array in Perl ?
  24. How to Join Arrays in Perl ?
  25. How to check if Two Arrays are Equal in Perl ?
  26. How to check if Two Arrays have Same Elements (Regardless of Order) in Perl ?
  27. How to Convert an Array of Integers to an Array of Strings in Perl ?
  28. How to Convert an Array of Strings to an Array of Integers in Perl ?
  29. How to Reverse an Array in Perl ?
  30. How to Shuffle an Array in Perl ?
  31. How to Rotate Elements in an Array in Perl ?
  32. How to Filter Elements of an Array based on a Condition in Perl ?
  33. How to Declare an Integer Array in Perl ?
  34. How to Declare a Float Array in Perl ?
  35. How to Declare a String Array in Perl ?
  36. How to Remove Duplicates in an Array in Perl ?
  37. How to Remove Specific Element from an Array in Perl ?
  38. How to Remove Element from Array based on a Condition in Perl ?
  39. How to Sort a String Array in Dictionary Order in Perl ?
  40. How to Concatenate Strings in Array in Perl ?