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


in reply to Removing chars from a word from an array

Parts of the following may get you where you want to go:

use strict; use warnings; my $word = 'committee'; my @list = qw(t r e e); my %remove; $remove{$_}++ for @list; for my $letter (keys %remove) { --$remove{$letter} while $remove{$letter} and $word =~ s/$letter// +; } #rebuild list @list = (); for my $letter (keys %remove) { push @list, $letter while $remove{$letter}--; } print "Edited word: $word\nEdited list: @list";

Prints:

Edited word: commit Edited list: r

DWIM is Perl's answer to Gödel