sub populate { my @array = (...); return @array; } #### # 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; } #### function do_populate_cb(s) { ... do something with s... } #### // Deserializes a list serialized with serialize_string_list. function deserialize_string_list(s) { var fields = s.split("|") var i; for (i=0; i