use strict; # Global data structures use vars qw(@foo @bar); @bar = qw(Topology IPClassA subnet_address Topology IPClassA Device=1 log_ratio Topology IPClassA Device=1 Port=1 poll_interval Topology IPClassC security_string Topology IPClassC Device=2 Port=2 poll_interval); my $i = 0; my $j = 1; print "Foo Before:\n\n"; foreach $_ (@bar){ print "$_\n";} push @foo, "Topology"; foreach $_ (@bar) { if ($bar[$i] eq $bar[$j]) { $i ++; $j ++; } else { push @foo, $bar[$j]; $i = 0; $j ++; } } print "\nFoo After:\n\n"; foreach $_ (@foo){ print "$_\n";}