Well, be more specific. Show examples of the actual possible data, no pseudo-data that won't look like the actual data. Give us some test cases.
Cheers,
KM | [reply] |
Acrobatics, P/H, default(DX-6), page(B48)
Bicycling, P/E, default(DX-4, SK:Motorcycle), page(B48)
Breath Control, M/VH, page(B48)
Free Fall, P/A, default(DX-5, HT-5), page(B48)
Jumping, P/E, page(B48)
Parachuting, P/E, default(DX-4, IQ-6), page(B48)
Swimming, P/E, gives(=@max(@int(%Level/10), 1) to Swim), default(DX-4,
+ ST-5), page(B49)
These being 4,4,3,4,3,4, and 5 elements respectively.
The last one is a more complicated one, and the third element should be: gives(=@max(@int(%Level/10), 1) to Swim)
There is no limit to how many function calls can be embeded (so func1(func2(func3(...funcN()...) )
| [reply] [d/l] |
$_='
Acrobatics, P/H, default(DX-6), page(B48)
Bicycling, P/E, default(DX-4, SK:Motorcycle), page(B48)
Breath Control, M/VH, page(B48)
Free Fall, P/A, default(DX-5, HT-5), page(B48)
Jumping, P/E, page(B48)
Parachuting, P/E, default(DX-4, IQ-6), page(B48)
Swimming, P/E, gives(=@max(@int(%Level/10), 1) to Swim), default(DX-4,
+ ST-5), page(B49)
';
($re=$_)=~s/((\()|(\))|.)/$2\Q$1\E$3/gs;
@$ = (eval{/$re/});
die $@ if $@=~/unmatched/;
$re = join'|',map{quotemeta}@$;
print join"\n",/((?:$re|[^,])+)/g;
| [reply] |