How about this:
#! /usr/bin/perl
use strict;
use warnings;
while (<DATA>)
{
chomp;
print "[$_]\n" for /\s*([^=]+\s+=\s+'[^']+'|\S+\s+=(?:\s+[^=]+)+(?:(
+?=\s+\S+\s+=)|$))/msg;
}
__DATA__
xyz = 'some long exp' xyz = some long exp with no more than one
+space separating parts a = b c d = e
drsubc = agauss(0, 1, 3) delm1 = '0 + 0.045u*distm1'
+ delm2 = '0 + 0.07u*distm2' delm3 = '0 + 0.07u*distm3'
+ delm4 = '0 + 0.07u*distm4' delmt = '0
+ + 0.07u*distmt' delml = '0.16u + 0.43u*distml'
+ delam = '0.32u + 0.86u*distam' dele1 = '0 + 0.2
+5u*diste1' dele2 = '0 + 0.25u*diste2'
+ delma = '0.16u + 0.6u*distma' pmsxt = 'npmsxt + 12.5
+u*dpmsxt' tih = 0.35u capct = '0.50u +
+ 0.13u*xdcapct' capcti = '0.55u + 0.13u*xdcapct'
+ m1t = '0.41u + 0.05u*xdm1t' m1ti = '0.36u + 0.05u*xdm1t'
+ m2t = '0.48u + 0.057u*dm2t' m3t = '0.4
+8u + 0.057u*dm3t' m4t = '0.48u + 0.057u*dm4t'
+ mtt = '0.48u + 0.057u*dmtt' qtt = '0.242u +
+0.0202u*dqtt' htt = '0.242u + 0.0202u*dhtt' m
+lt = '2.0u + 0.2u*dmlt' amt = '4.0u + 0.4u*dam
+t' e1t = '3.0u + 0.5u*de1t' e2t = '
+4.0u + 0.5u*xde1mat' mat = '4.0u + 0.4u*dmat'
+ m1m2t = '0.35u + 0.05u*dm1m2t'
Generates the output:
[xyz = 'some long exp']
[xyz = some long exp with no more than one space separating parts]
[a = b c]
[d = e]
[drsubc = agauss(0, 1, 3) ]
[delm1 = '0 + 0.045u*distm1']
[delm2 = '0 + 0.07u*distm2']
[delm3 = '0 + 0.07u*distm3']
[delm4 = '0 + 0.07u*distm4']
[delmt = '0 + 0.07u*distmt']
[delml = '0.16u + 0.43u*distml']
[delam = '0.32u + 0.86u*distam']
[dele1 = '0 + 0.25u*diste1']
[dele2 = '0 + 0.25u*diste2']
[delma = '0.16u + 0.6u*distma']
[pmsxt = 'npmsxt + 12.5u*dpmsxt']
[tih = 0.35u ]
[capct = '0.50u + 0.13u*xdcapct']
[capcti = '0.55u + 0.13u*xdcapct']
[m1t = '0.41u + 0.05u*xdm1t']
[m1ti = '0.36u + 0.05u*xdm1t']
[m2t = '0.48u + 0.057u*dm2t']
[m3t = '0.48u + 0.057u*dm3t']
[m4t = '0.48u + 0.057u*dm4t']
[mtt = '0.48u + 0.057u*dmtt']
[qtt = '0.242u + 0.0202u*dqtt']
[htt = '0.242u + 0.0202u*dhtt']
[mlt = '2.0u + 0.2u*dmlt']
[amt = '4.0u + 0.4u*damt']
[e1t = '3.0u + 0.5u*de1t']
[e2t = '4.0u + 0.5u*xde1mat']
[mat = '4.0u + 0.4u*dmat']
[m1m2t = '0.35u + 0.05u*dm1m2t']
pbeckingham - typist, perishable vertebrate.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|