http://www.perlmonks.org?node_id=307056


in reply to Unwrapping values in a template

As long as all of your lines that are definitions start with whitespace, the following will work; this is because when the template wraps, it won't prefix the (wrapped) line with anything. This allows us to know what's a wrap, and what's not. No special handling of '=' signs needed.

use Config::General; use Data::Dumper; undef $/; my $file = <DATA>; $file =~ s/\n(\S)/ $1/g; my $config = Config::General->new(-String=>$file); print Dumper {$config->getall}; __DATA__ foo = Yes bar = 0 blort = home_url = http://www.foo.com/some/really/long/url?foo=bar

Produces:

$VAR1 = { 'bar' => '0', 'boo' => '', 'blort' => '', 'foo' => 'Yes', 'home_url' => 'http://www.foo.com/some/really/long/url?foo=b +ar', };

perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER'