knoppix@Microknoppix:~$ perl -E ' > $l = q{w,ww,"a,bb,ccc,3 ,ee,",4}; > @flds = split m{,}, $l, 3; > push @flds, reverse > map { scalar reverse $_ } > split m{,}, reverse( pop @flds ), 2; > $flds[ 2 ] =~ s{,}{-}g; > $l = join q{,}, @flds; > say $l;' w,ww,"a-bb-ccc-3 -ee-",4 knoppix@Microknoppix:~$