in reply to Re^2: Regexp matching on a multiline file: dealing with line breaks
in thread Regexp matching on a multiline file: dealing with line breaks
As Laurent_R says, this is an excellent strategy. Have a look at the entry for $INPUT_RECORD_SEPARATOR (usually spelled just $/) in perlvar. For example:
#! perl use strict; use warnings; my $target = 'kitten'; my $count = 0; $/ = ">Header\n"; { local $/ = ">Header\n"; while (my $string = <DATA>) { $string =~ s/\n//g; print "string is '$string'\n"; $count += () = $string =~ /\Q$target/g; } } print "The target string '$target' occurs $count times in the file\n"; __DATA__ >Header sushikitten ilovethekit tensushithe kittenisthe >Header sushikittAn ilovethekit tensushithe kittBnisthe
Output:
23:11 >perl 1474_SoPW.pl string is '>Header' string is 'sushikittenilovethekittensushithekittenisthe>Header' string is 'sushikittAnilovethekittensushithekittBnisthe' The target string 'kitten' occurs 4 times in the file 23:11 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Regexp matching on a multiline file: dealing with line breaks
by BlueStarry (Novice) on Dec 06, 2015 at 14:02 UTC | |
|
Re^4: Regexp matching on a multiline file: dealing with line breaks
by BlueStarry (Novice) on Dec 10, 2015 at 17:19 UTC | |
by choroba (Cardinal) on Dec 10, 2015 at 17:26 UTC | |
by Anonymous Monk on Dec 10, 2015 at 21:55 UTC | |
by Athanasius (Archbishop) on Dec 11, 2015 at 09:58 UTC | |
by choroba (Cardinal) on Dec 10, 2015 at 22:08 UTC |