sub remove_pattern_from_array { my $pattern = shift (@_); my @holder_array = qw//; foreach my $line (@_){ unless ($line =~ /$pattern/){ push (@holder_array, $line); } } return @holder_array; } #### username: me@you.com #### garbagetest#$^#$^#$%^#$ #### @aliases_array = remove_pattern_from_array ( "^\$|^#|!(^.+?:\\s+.+\$)", @aliases_array);