my ($k, $v) = split /=/, $_, 2;
splits each data line into two parts: the part to the left of the first = character — which is assigned to $k — and the entire part to the right of the first = character — which is assigned to $v. So nothing is lost. In your example, the batch file would contain:
set VAL=<some path>:%VAL%
and if VAL already contained, say, /bin, the result would be the assignment of VAL to $k and of <some path>:/bin to $v. See split:
If LIMIT is specified and positive, it represents the maximum number of fields into which the EXPR may be split; in other words, LIMIT is one greater than the maximum number of times EXPR may be split.
Hope that helps,
Athanasius <°(((>< contra mundum
|