Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Sep 2012
    Thanked 0 Times in 0 Posts

    Unhappy Delete Mulitiple lines from a file

    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.

        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/>" );
    Last edited by begood321; 10-09-2012 at 09:19 PM. Reason: add comment

  2. #2
    Super Moderator
    Join Date
    May 2005
    Southern tip of Silicon Valley
    Thanked 233 Times in 226 Posts
    Hello begood321,

    Sorry for not replying to your question earlier.

    Do you still need help with this issue? If so, please post some sample lines of your file and point out which ones need to be removed.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts