Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Devel::REPL::Profile(3User Contributed Perl DocumentatiDevel::REPL::Profile(3)

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

VERSION
       version 1.003028

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.

SUPPORT
       Bugs may	be submitted through the RT bug	tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-REPL> (or
       bug-Devel-REPL@rt.cpan.org <mailto:bug-Devel-REPL@rt.cpan.org>).

       There is	also an	irc channel available for users	of this	distribution,
       at "#devel" on "irc.perl.org" <irc://irc.perl.org/#devel-repl>.

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

COPYRIGHT AND LICENCE
       This software is	copyright (c) 2007 by Matt S Trout - mst (at)
       shadowcatsystems.co.uk (<http://www.shadowcatsystems.co.uk/>).

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			  2016-02-16	       Devel::REPL::Profile(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | USAGE | SUPPORT | AUTHOR | COPYRIGHT AND LICENCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Devel::REPL::Profile&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help