sub switch_to { my ( $self, $dist, $alias ) = @_; die "Cannot use for alias something that starts with 'perl-'\n" if $alias && $alias =~ /^perl-/; die "${dist} is not installed\n" unless -d joinpath($self->root, "perls", $dist); if ($self->env("PERLBREW_BASHRC_VERSION")) { local $ENV{PERLBREW_PERL} = $dist; my $HOME = $self->env('HOME'); my $pb_home = $self->env("PERLBREW_HOME") || $PERLBREW_HOME; mkpath($pb_home); system("$0 env $dist > " . joinpath($pb_home, "init")); print "Switched to $dist.\n\n"; } else { $self->launch_sub_shell($dist); } }