Clipping for perspective projection
3D clipping is usually done in clipspace coordinates, that means the perspective matrix is used for sending the primitives to clipspace before doing the actual perspective projection. You can visualize the clipspace as a view frustum but with the shape of a box. So it is very fast to clip primitives against a AABB. The math is a little involved, but is all explained in this blog post: 

Calculating the gluPerspective matrix and other OpenGL matrix maths | Unspecified Behaviour Blog