I would like my output to be:
$individual[0]=
-OECHEM 658567-
1 2 0000 V2000
4 \t 5 8.7 7.655 3
2 \t 55 6 4 5
M END
$$$$
$individual1=
-OECHEM 35343-
3 6 0000 V2000
1 \t 7 6 4.6 9
2 \t 45 0 3 5
M END
$$$$
i.e. having 2 seperate regex groups (or array elements) of just everything up to M END. and then add $$$$ to the next line.
I have so far tried:
my @individual; @individual = split (/\$\$\$\$/,$file);
The split works but doesnt include the token used to split on, i.e. i end up with
$individual[0] =
-OECHEM 658567-
1 2 0000 V2000
4 \t 5 8.7 7.655 3
2 \t 55 6 4 5
M END
> <compound id>
665765765
> <source>
db1
$individual[1] =
-OECHEM 35343-
3 6 0000 V2000
1 \t 7 6 4.6 9
2 \t 45 0 3 5
M END
> <compound id>
3546789
> <source>
db1
I tried a regex like /(.*)?M END/ig May have to do two steps to do grouping and then substitution.
Thanks.
In reply to Re^2: Regex for matching and appending
by joec_
in thread Regex for matching and appending
by joec_
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |