##
sub filter_stuff {
my $stuff = shift;
my @patterns = @_;
# Backwards iteration trick:
# use negative of negative loop variable as index
for my $i (-$#$stuff..0) {
for (@patterns) {
splice(@$stuff, -$i, 1) && last unless $stuff->[-$i] =~ /$_/;
}
}
}
####
for (my $i=$#$stuff; $i >= 0; --$i) {
#use $i as index
}