in reply to Re: Parsing "=" separated output
in thread Parsing "=" separated output

#!/usr/bin/perl -- use strict; use warnings; use Data::Dumper; Main( @ARGV ); exit( 0 ); sub Main { my $str = q[sometrash key1=value0 value1, value2 key2=value3 key3= +value4]; my @tokens = split /([^\s=]+=)/, $str; shift @tokens until $tokens[0] =~ /=$/; print Dumper( { @tokens } ); } __END__ $VAR1 = { 'key3=' => 'value4', 'key2=' => 'value3 ', 'key1=' => 'value0 value1, value2 ' };

Replies are listed 'Best First'.
Re^3: Parsing "=" separated output
by Anonymous Monk on Aug 03, 2011 at 10:39 UTC
    Probably better to stop looping when run out of tokens :)
    shift @tokens until not(@tokens) or $tokens[0] =~ /=$/;