In the normal 3-argument form of open:
open FILEHANDLE, MODE, EXPR
EXPR is the (name of the) file to be opened. But sometimes you need to specify, not a file, but an existing filehandle (i.e., a scalar variable pointing to an opened file). This is done by appending & to the MODE (>, >>, <, +>, +>>, or +<), which tells open to treat what follows as a filehandle and make a copy (“dup”) of it.
This is documented in open, as referenced by choroba. See also, e.g., http://www.kernel.org/doc/man-pages/online/pages/man2/dup.2.html.
Hope that helps,