($file) = $URI =~ m{ ^ (?: https? | ftp ) :// # scheme [^/]+ # domain (?: / [^/?#]* )* # directories / ( [^/?#]* ) # filename (?: $ | [?#] ) }x;