Please don't do that. This approach usually becomes a great global mess before your
system has a chance to grow big.
Read Including files again, esp. the first section that hints not to follow the PHP path.
The free Modern Perl book
has specific chapters about modules (i.e.: Managing Real Programs, p. 201ff.)
(...as already suggested by GrandFather and AM).
Then refactor your code into modules (*.pm not *.pl BTW) that can be re-used
and properly encapsulate/abstracts functionality.
Check first if the functionality required is already available
as a core module or a download from CPAN.
Decide if it is better to have a functional- (what you do now)
or an OO-interface and what really needs to be exported into your main.pl ($main::) namespace.
Since you didn't gave us much details, it is hard to give you more specific advice (see ww's comment below).
BTW: The &function() syntax is usually/probably not what you want (circumvents prototypes;
makes current @_ visible to called sub; see perlsub for details).