There is good prior discussion at File reading efficiency and other surly remarks. The short answer is <> has to be slower because it does something more complicated. But on some platforms and versions of Perl it is unreasonably slow, and that has to do with external stdio libraries that it relies on.