Named subs all reside in the symbol table of the active package when they're declared (if the name is unqualified, that is; it's also possible to stick a sub into another package's namespace by fully qualifying the name: sub Other::Package::foo { ... }). It's also possible to get a sub which is only useable within a particular lexical scope by storing a coderef in a lexical scalar.
{
my $private_sub = sub { print "I'M IN UR SCOPE HIDIN UR LEXICALZ\n" }
## Can be called here
$private_sub->( );
}
## Can't call it here