1 package Devel::REPL::Script;
7 use namespace::clean -except => [ qw(meta) ];
12 is => 'ro', isa => 'Str', required => 1, default => sub { 'repl.rc' },
16 is => 'ro', isa => 'Devel::REPL', required => 1,
17 default => sub { Devel::REPL->new() }
28 my $rc_file = $self->rcfile;
30 # plain name => ~/.re.pl/${rc_file}
31 if ($rc_file !~ m!/!) {
32 $rc_file = File::Spec->catfile(File::HomeDir->my_home, '.re.pl', $rc_file);
36 open RCFILE, '<', $rc_file || die "Couldn't open ${rc_file}: $!";
38 { local $/; $rc_data = <RCFILE>; }
39 close RCFILE; # Don't care if this fails
40 $self->eval_rcdata($rc_data);
41 warn "Error executing rc file ${rc_file}: $@\n" if $@;
46 my $_REPL = $_[0]->_repl;
56 my ($class, @opts) = @_;
57 return unless (@opts == 1 && $opts[0] eq 'run');
58 $class->new_with_options->run;