in reply to Extracting strings around comparision operator
You can use the rarely used third parameter to split to limit the number of elements extracted from the string:
$s = q[BONDING_MODULE_OPTS='mode=active-backup miimon=100 primary=p6p2 + primary_reselect=1'];; ( $key, $value ) = split '=', $s, 2;; print "<$key> <$value>";; <BONDING_MODULE_OPTS> <'mode=active-backup miimon=100 primary=p6p2 pri +mary_reselect=1'>
Update: If you need to further split the value into a hash then you could do it this way:
$s = q[BONDING_MODULE_OPTS='mode=active-backup miimon=100 primary=p6p2 + primary_reselect=1'];; ( $key, $value ) = split '=', $s, 2;; print "<$key> <$value>";; <BONDING_MODULE_OPTS> <'mode=active-backup miimon=100 primary=p6p2 pri +mary_reselect=1'> $h{$key} = { map{ split '=', $_ } split ' ', substr $value, 1, -1 };; pp %h;; ( "BONDING_MODULE_OPTS", { miimon => 100, mode => "active-backup", primary => "p6p2", primary_reselect => 1, }, )
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Extracting strings around comparision operator
by rahulruns (Scribe) on Aug 20, 2015 at 10:32 UTC |