use strict; use warnings; while (my $line = ) { my @pairs = split /[, ]+/, $line; my @values; push @values, (split /=/, $_)[1] for @pairs; print "@values"; } __DATA__ field1=value1, field2=value2, field3=value3 field1=value1a, field2=value2a, field3=value3a #### value1 value2 value3 value1a value2a value3a