On your own system you'd could cat /etc/services as root (i'd never do that in a script), but if you've got a proper configured linux like system, certain ports are reserved for proper use, indeed smtp (mail) connects to 25, pop connects to 110 and secure mail connects to 465.
There are many many more as you probably know. But why do you want to know to how to find out what port number sendmail uses in Perl?
"We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise." - Larry Wall.