in reply to need help understanding perl syntax

What that code says is "Match the environment variable http_proxy against the a regular expression with two captures, and return the two captures". undef in both of these variables implies that the variable didn't match the regular expression.

The regular expression is "start of string, followed by one or more non-space characters (captured), followed by a colon, followed by 1 or more digit characters (captured), followed by end of string". The string you give doesn't match that, because of the trailing slash.