############################################################################################################
#Author: Leo
#Email: ahyeek@gmail.com
#
#Summary:
# Examples code for Advance Perl Programming.
#
############################################################################################################
#!/usr/bin/perl
use warnings;
use strict;
############################################################################
# Usage : rm_arr_item_for_word_cotain_specific_tag($array, $tag);
# Desc : Removing items from an array where item contain specified word.
############################################################################
my @test_array = ("<div", "<span", "<table", "<div", "<font", "<tr", "<div", "<select", "<p");
foreach my $item(@test_array){
print "[ $item ],";
}
print "\n";
#my @return_array = rm_arr_item_for_word_cotain_specific_tag_once(\@test_array, "</div>");
@test_array = rm_arr_item_for_word_cotain_specific_tag_once(\@test_array, "</div>");
foreach my $item(@test_array){
print "[ $item ],";
}
print "\n";
@test_array = rm_arr_item_for_word_cotain_specific_tag_once(\@test_array, "</p>");
foreach my $item(@test_array){
print "[ $item ],";
}
print "\n";
sub rm_arr_item_for_word_cotain_specific_tag{
my ($array, $tag) = @_;
my @tmp_array = ();
$tag =~ s/(\/|<|>)//g;
print "Targeted tag to remove: $tag\n";
foreach my $item(reverse @$array){
if($item =~ m/$tag/ig) { next; }
push @tmp_array, $item;
}
return @tmp_array;
}
sub rm_arr_item_for_word_cotain_specific_tag_once{
my ($array, $tag) = @_;
my @process_array = reverse @$array;
my @tmp_array = ();
$tag =~ s/(\/|<|>)//g;
print "Targeted tag to remove: $tag\n";
foreach my $item (@process_array){
#print "Process item: $item\n";
if($item =~ m/$tag/ig) {
#print "Found $tag\n";
$tag = "_";
}
else{
#print "Store item: $item\n";
push @tmp_array, $item;
}
}
return reverse @tmp_array;
}
#######################################################################
# Test : Passing array into sub routine and out.
#######################################################################
print "\n\nPassing array into sub routine and out.\n";
my @test_to_change_arr = ('aaa', 'bbba', 'ccca', 'ddda', 'eeea', 'fffa');
my @array_of_hash = ();
my $item_ctr = 0;
foreach my $my_arr_item (@test_to_change_arr)
{
$item_ctr++;
print "Push hash item {$item_ctr => $my_arr_item} into hash array...\n";
push @array_of_hash, {$item_ctr => $my_arr_item};
}
print "\nWhat is having in array, check: \n";
foreach my $arr_item (@array_of_hash)
{
foreach (keys %$arr_item)
{
print "key is $_ value is $$arr_item{$_}.\n";
}
}
sub test_array
{
my ($array, $tag, $tag_to_change) = @_;
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment