in reply to regular expression questions (from someone without experience)
Here's an example to get you started; it might need some tweaking to do what you want.
#!/usr/bin/perl use strict; use warnings; use autodie; open my $h, '<', 'file.txt'; local $/ = ''; while (my $block = <$h>) { # split off header my $body = (split /==========\n/, $block )[-1]; # split on the long ***** line my ($before, $after) = split /\*{20,}\s*/, $body, 2; print "before: $before\n"; print "after: $after\n"; }
Note that I've used the paragraph mode for reading the records; that's explained in the documentation for the $/ variable.
|
|---|