http://qs321.pair.com?node_id=930184

cesear has asked for the wisdom of the Perl Monks concerning the following question:

use warnings; use strict; my @bundle1 = qw/ch3 ch4 ch6/; my %bundle1 = ( ch3 => 0, ch4 => 0, ch6 => 0, ); my $i = 0; my @charges = qw/ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8 ch1 ch2 ch3 ch4 ch5 c +h1 ch2 ch6 ch7 ch4 ch3 ch9 ch2 ch4/; foreach my $bundle (@bundle1) { foreach my $charge (@charges) { if ($bundle eq $charge) { $i++; $bundle1{$bundle} = $i; print $bundle1{$bundle}; } } }
Now my main goal I am trying to accomplish is if @bundle1 is found in @charges, then remove the corresponding @bundle1 in @charges and replaced with 'chx'.

So input is--> ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8 ch1 ch2 ch3 ch4 ch5 ch1 ch2 ch6 ch7 ch4 ch3 ch9 ch2 ch4

So output is--> ch1 ch2 ch5 chx ch7 ch8 ch1 ch2 ch5 ch1 ch2 chx ch7 ch4 ch3 ch9 ch2 ch4