Hey Guys,
How do I delete multiple lines with different values in an array.
Here is code below I have which works for 1 match in array if I define it but can't get it work with multiple values in an array. Foreach my $username (@remove_users) complains about match when I try wrapping it around foreach my $line (@file_lines). Thanks for your help.
Code:
@remove_users;
if (not defined $test_file) {
#Make sure that the $test_file was passed in too.
die qq(Name of log file not passed to subroutine "removeUsers"\n);
}
# Read file into an array for processing
open( my $read_fh, "<", $test_file )
or die qq(Can't open file "$test_file" for reading: $!\n);
my @file_lines = <$read_fh>;
close( $read_fh );
# Rewrite file with the line removed
open( my $write_fh, ">", $test_file )
or die qq(Can't open file "$test_file" for writing: $!\n);
foreach my $line ( @file_lines ) {
print {$write_fh} $line unless ( $line =~ /$user_remove/ );
}
close( $write_fh );
print( "User successfully removed.<br/>" );