#!/usr/bin/perl -wl use strict; my $s = "FOO=1 BAR= RED BOO = 5.6 BAZ =3"; my @a = split /[\s=]+/, $s; my %h = map {$_%2 ? $a[$_] : lc $a[$_]} 0..$#a; print $_, "\t=> ", $h{$_} for keys %h;