in reply to chomp question
Hello suno, and welcome to the Monastery!
As other monks have said, your question isn’t clear. The following is a guess at what you wanted:
#! perl use strict; use warnings; my @lines = ("First line\n", "Second line\n", "Third line\n", "Fourth line\n", "Fifth line\n",); my @keywords = qw(Second Fourth); my @matches; for (my $i = 0; $i < $#lines; ++$i) { my ($first_word) = $lines[$i] =~ /^\s*(\w+)\b/; for (@keywords) { if ($_ eq $first_word) # Look for a keyword { chomp(my $line1 = $lines[$i ]); # *see below chomp(my $line2 = $lines[$i + 1]); # *see below push @matches, $line1 . $line2; last; } } } my $count; print 'Match ', ++$count, ": '$_'\n" foreach @matches;
Output:
Match 1: 'Second lineThird line' Match 2: 'Fourth lineFifth line'
The key lines of code are the ones marked *see below. By applying chomp to a newly-created variable, the code removes the newline (if any) from the end of a copy of each line of text, without changing the original lines in the array.
HTH,
Athanasius <°(((>< contra mundum
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: chomp question
by suno (Acolyte) on Aug 08, 2012 at 09:56 UTC | |
by suno (Acolyte) on Aug 08, 2012 at 09:58 UTC | |
by Jenda (Abbot) on Aug 08, 2012 at 10:57 UTC | |
by ramlight (Friar) on Aug 08, 2012 at 13:59 UTC |