How to create a Set of Sets in Perl


How to create a Set of Sets in Perl ?

Answer

To create a Set of Sets in Perl, you can use nested hashes to represent sets. You create individual sets as keys in a hash and then add them to another hash.



✐ Examples

1 Creating a Set of Sets of Integers

In this example,

  1. First, we create three individual sets of integers named %set1, %set2, and %set3. We add the elements 1, 2, 3 to %set1, 4, 5, 6 to %set2, and 7, 8, 9 to %set3.
  2. Next, we create a hash named %set_of_sets and add %set1, %set2, and %set3 to it. This nests the three sets within a single hash.
  3. We then iterate over each set within %set_of_sets using a foreach loop. Within the loop, we print each individual set to the standard output.

Perl Program

my %set1 = map { $_ => 1 } (1, 2, 3);
my %set2 = map { $_ => 1 } (4, 5, 6);
my %set3 = map { $_ => 1 } (7, 8, 9);

my %set_of_sets = (set1 => %set1, set2 => %set2, set3 => %set3);

foreach my $set (values %set_of_sets) {
    print join(", ", keys %{$set}), "\n";
}

Output

Output:
1, 2, 3
4, 5, 6
7, 8, 9

2 Creating a Set of Sets of Strings

In this example,

  1. First, we create three individual sets of strings named %setA, %setB, and %setC. We add the elements "apple", "banana", "cherry" to %setA, "dog", "elephant", "fox" to %setB, and "grape", "honeydew", "kiwi" to %setC.
  2. Next, we create a hash named %set_of_string_sets and add %setA, %setB, and %setC to it. This nests the three sets within a single hash.
  3. We then iterate over each set within %set_of_string_sets using a foreach loop. Within the loop, we print each individual set to the standard output.

Perl Program

my %setA = map { $_ => 1 } ("apple", "banana", "cherry");
my %setB = map { $_ => 1 } ("dog", "elephant", "fox");
my %setC = map { $_ => 1 } ("grape", "honeydew", "kiwi");

my %set_of_string_sets = (setA => %setA, setB => %setB, setC => %setC);

foreach my $set (values %set_of_string_sets) {
    print join(", ", keys %{$set}), "\n";
}

Output

Output:
banana, cherry, apple
elephant, fox, dog
kiwi, honeydew, grape

Summary

In this tutorial, we learned How to create a Set of Sets in Perl language with well detailed examples.




More Perl Sets Tutorials

  1. How to create an Empty Set in Perl ?
  2. How to Initialize a Set in Perl ?
  3. How to Get Length of a Set in Perl ?
  4. How to create a Set of size N in Perl ?
  5. How to create a Set of Numbers from 1 to N in Perl ?
  6. How to create a Set of integers in Perl ?
  7. How to create a Set of Strings in Perl ?
  8. How to Access Items in a Set in Perl ?
  9. How to get a Random Item in a Set in Perl ?
  10. How to Iterate Over a Set in Perl ?
  11. How to check if a Set is Empty in Perl ?
  12. How to check if a Set is Not Empty in Perl ?
  13. How to get Subset from a Set in Perl ?
  14. How to check if a Specific Item is present in the Set in Perl ?
  15. How to check if a Set contains all the items of Another Set in Perl ?
  16. How to Sort Items of a Set in Perl ?
  17. How to Copy a Set in Perl ?
  18. How to add an Item to a Set in Perl ?
  19. How to find Union of Two Sets in Perl ?
  20. How to find Intersection of Two Sets in Perl ?
  21. How to check if Two Sets are Equal in Perl ?
  22. How to Convert a Set of Integers to a Set of Strings in Perl ?
  23. How to Convert a Set of Strings to a Set of Integers in Perl ?
  24. How to Convert a Set of Floats to a Set of Strings in Perl ?
  25. How to Convert a Set of Strings to a Set of Floats in Perl ?
  26. How to Filter Items of a Set based on a Condition in Perl ?
  27. How to Remove Specific Item from a Set in Perl ?
  28. How to Remove Items from Set based on a Condition in Perl ?
  29. How to create a Set of Sets in Perl ?