I got a bit nearer with
#! /usr/perl/bin
use warnings;
use strict;
use Data::Dumper;
use warnings;
use strict;
my @charges = qw/ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8 ch1 ch2
ch3 ch4 ch5 ch1 ch2 ch6 ch7 ch4 ch3 ch9 ch2 ch4/;
my %bundle1 = map { $_ => 0 } qw(ch3 ch4 ch6);
my $i;
for (@charges) {
if (exists $bundle1{$_}) {
$i++;
if ($i == 3){
print "chx ";
$i = 0;
}
}
else {
print "$_ ";
}
}
print "\n";
__END__
ch1 ch2 ch5 chx ch7 ch8 ch1 ch2 ch5 ch1 ch2 chx ch7 ch9 ch2 chx
But it assumes a lot and the last
chx is wrong.