GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DEVEL::REPL::PROFILE (3)

.ds Aq ’

NAME

Devel::REPL::Profile - code to execute when re.pl starts

CONTENTS

VERSION

version 1.003026

SYNOPSIS



 package Devel::REPL::Profile::MyProject;

 use Moose;
 use namespace::autoclean;

 with Devel::REPL::Profile;

 sub apply_profile {
     my ($self, $repl) = @_;
     # do something here
 }

 1;



DESCRIPTION

For particular projects you might well end up running the same commands each time the REPL shell starts up - loading Perl modules, setting configuration, and so on.

A mechanism called profiles exists to let you package and distribute these start-up scripts, as Perl modules.

USAGE

Quite simply, follow the SYNOPSIS section above to create a boilerplate profile module. Within the apply_profile method, the $repl variable can be used to run any commands as the user would, within the context of their running Devel::REPL shell instance.

For example, to load a module, you might have something like this:



 sub apply_profile {
     my ($self, $repl) = @_;
     $repl->eval(use Carp);
 }



As you can see, the eval method is used to run any code. The user won’t see any output from that, and the code can safely die without destroying the REPL shell. The return value of eval will be the return value of the code you gave, or else if it died then a Devel::REPL::Error object is returned.

If you want to load a Devel::REPL plugin, then use the following method:



 $repl->load_plugin(Timing);



The load_plugin and eval methods should cover most of what you would want to do before the user has access to the shell. Remember that plugin features are immediately available, so you can load for example the LexEnv plugin, and then declare my variables which the user will have access to.

    Selecting a Profile

To run the shell with a particular profile, use the following command:



 system$ re.pl --profile MyProject



Alternatively, you can set the environment variable DEVEL_REPL_PROFILE to MyProject.

When the profile name is unqualified, as in the above example, the profile is assumed to be in the Devel::REPL::Profile:: namespace. Otherwise if you pass something which contains the :: character sequence, it will be loaded as-is.

AUTHOR

Matt S Trout - mst (at) shadowcatsystems.co.uk (<http://www.shadowcatsystems.co.uk/>)

LICENSE

This library is free software under the same terms as perl itself
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 DEVEL::REPL::PROFILE (3) 2014-07-16

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.