open my $in, '<', 'infile' or die $!; # open input file open my $out, '>', 'outfile' or die $!; # open output file while(my $line = <$in>){ chomp $line; # remove newline if( $line =~ s/key1=([^&\s]+)// ){ # capture value in $1 while # replacing with empty string $line .= " key1=$1"; # append key and value to line } print $out "$line\n"; # print line to output file } close $in; close $out;