@result = map { my ( $x, $y) = split /=#?/; /=#/ ? ( $x, fn( $y)) : /=/ ? ( $x, $y) : ( $x, fn( $x)); } split /,/, $string;