http://www.perlmonks.org?node_id=1032121


in reply to Re^2: Using multiple values in a SQL "in" statement
in thread Using multiple values in a SQL "in" statement

It's three operations. The x operator, is either a string or list multiplier. Here, it's being used on an list, as the item is in parens:

   ('?') x scalar(@id)

scalar(@id) gives the number of items in the array. So we end up with a list of question marks the same size as the @id array.

The join will flatten a list into a single string, placing the first argument in between each item. So we're placing a comma between each of the question marks.