sub instantiator{ my $state = @_; return sub{ return #some function of state and @_; } } ... my $utility = instantiator( 'init' ); ... $utility->( args );