in reply to Regular Expression tricky newline problem
Use a non-greedy match:
Output:#!/usr/bin/perl use strict; use warnings; local $/=undef; my $contents=<DATA>; my ($thirdline) = $contents =~ m/Line3 : (.*?)\n/s; print $thirdline."\n"; __DATA__ Line1 : Dit is de eerste regel Line2 : Dit is de tweede regel Line3 : Dit is de derde regel Line4 : Dit is de vierde regel
Or you could match against a negated character class:Dit is de derde regel
my ($thirdline) = $contents =~ m/Line3 : ([^\n]+)/s;
A computer is a state machine. Threads are for people who can't program state machines. -- Alan Cox
|
---|
Replies are listed 'Best First'. |
---|
In Section
Seekers of Perl Wisdom