How to Remove Items from Set based on a Condition in Perl - Step by Step Examples
How to Remove Items from Set based on a Condition in Perl ?
Answer
To remove items from a set (represented as a hash) based on a condition in Perl, you can iterate over the hash and delete items that meet the condition.
✐ Examples
1 Remove Even Numbers from a Set
In this example,
- First, we create a hash named
%number_set
to represent the set, with integer keys and values both set to 1:my %number_set = (1 => 1, 2 => 1, 3 => 1, 4 => 1, 5 => 1);
. - Next, we use a
foreach
loop to iterate over the keys of the hash. - Within the loop, we check if the current key (number) is even using the modulus operator
%
. - If the number is even, we delete it from the hash using the
delete
function. - We print the updated hash to verify that even numbers have been removed.
Perl Program
use strict;
use warnings;
my %number_set = (1 => 1, 2 => 1, 3 => 1, 4 => 1, 5 => 1);
print "Original Set: ";
print join(", ", keys %number_set) . "\n";
foreach my $num (keys %number_set) {
if ($num % 2 == 0) {
delete $number_set{$num};
}
}
print "Set after removing even numbers: ";
print join(", ", keys %number_set) . "\n";
Output
Original Set: 1, 2, 3, 4, 5 Set after removing even numbers: 1, 3, 5
2 Remove Strings Longer Than 4 Characters from a Set
In this example,
- First, we create a hash named
%string_set
to represent the set, with string keys and values both set to 1:my %string_set = ("apple" => 1, "banana" => 1, "orange" => 1, "kiwi" => 1);
. - Next, we use a
foreach
loop to iterate over the keys of the hash. - Within the loop, we check if the length of the current key (string) is greater than 4 using the
length
function. - If the length is greater than 4, we delete the string from the hash using the
delete
function. - We print the updated hash to verify that strings longer than 4 characters have been removed.
Perl Program
use strict;
use warnings;
my %string_set = ("apple" => 1, "banana" => 1, "orange" => 1, "kiwi" => 1);
print "Original Set: ";
print join(", ", keys %string_set) . "\n";
foreach my $str (keys %string_set) {
if (length($str) > 4) {
delete $string_set{$str};
}
}
print "Set after removing strings longer than 4 characters: ";
print join(", ", keys %string_set) . "\n";
Output
Original Set: apple, banana, orange, kiwi Set after removing strings longer than 4 characters: kiwi
Summary
In this tutorial, we learned How to Remove Items from Set based on a Condition in Perl language with well detailed examples.
More Perl Sets Tutorials
- How to create an Empty Set in Perl ?
- How to Initialize a Set in Perl ?
- How to Get Length of a Set in Perl ?
- How to create a Set of size N in Perl ?
- How to create a Set of Numbers from 1 to N in Perl ?
- How to create a Set of integers in Perl ?
- How to create a Set of Strings in Perl ?
- How to Access Items in a Set in Perl ?
- How to get a Random Item in a Set in Perl ?
- How to Iterate Over a Set in Perl ?
- How to check if a Set is Empty in Perl ?
- How to check if a Set is Not Empty in Perl ?
- How to get Subset from a Set in Perl ?
- How to check if a Specific Item is present in the Set in Perl ?
- How to check if a Set contains all the items of Another Set in Perl ?
- How to Sort Items of a Set in Perl ?
- How to Copy a Set in Perl ?
- How to add an Item to a Set in Perl ?
- How to find Union of Two Sets in Perl ?
- How to find Intersection of Two Sets in Perl ?
- How to check if Two Sets are Equal in Perl ?
- How to Convert a Set of Integers to a Set of Strings in Perl ?
- How to Convert a Set of Strings to a Set of Integers in Perl ?
- How to Convert a Set of Floats to a Set of Strings in Perl ?
- How to Convert a Set of Strings to a Set of Floats in Perl ?
- How to Filter Items of a Set based on a Condition in Perl ?
- How to Remove Specific Item from a Set in Perl ?
- How to Remove Items from Set based on a Condition in Perl ?
- How to create a Set of Sets in Perl ?