# Serializes an array, a hash or a list which contains only # strings and undefs. Everything else will be stringified. sub serialize_string_list { return join('|', map { (defined($_) ? do { local $_=$_; s/\^/^1/g; s/\|/^2/g; $_ } : '^0' ) } @_ ); } sub populate { my @array = (...); return serialize_string_list @array; }