App-plx

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


      plx --init <perl>                      # Initialize layout config for .
      plx --bareinit <perl>                  # Initialize bare layout config for .
      plx --base                             # Show layout base dir 
      plx --base <base> <action> <args>      # Run action with specified base dir
  
      plx --perl                             # Show layout perl binary
      plx --libs                             # Show layout $PERL5LIB entries
      plx --paths                            # Show layout additional $PATH entries
      plx --env                              # Show layout env var changes
      plx --cpanm -llocal --installdeps .    # Run cpanm from outside $PATH

      plx --config perl                      # Show perl binary
      plx --config perl set /path/to/perl    # Select exact perl binary
      plx --config perl set perl-5.xx.y      # Select perl via $PATH or perlbrew

      plx --config libspec                   # Show lib specifications
      plx --config libspec add <name> <path> # Add lib specification
      plx --config libspec del <name> <path> # Delete lib specification
  
      plx --config env                       # Show additional env vars
      plx --config env add <name> <path>     # Add env var
      plx --config env del <name> <path>     # Delete env var

      plx --exec <cmd> <args>                # exec()s with env vars set
      plx --perl <args>                      # Run perl with args

      plx --cmd <cmd> <args>                 # DWIM command:
  
        cmd = perl           -> --perl <args>
        cmd = -<flag>        -> --perl -<flag> <args>
        cmd = some/file      -> --perl some/file <args>
        cmd = ./file         -> --perl ./file <args>
        cmd = name ->
          exists .plx/cmd/<name> -> --perl .plx/cmd/<name> <args>
          exists dev/<name>      -> --perl dev/<name> <args>
          exists bin/<name>      -> --perl bin/<name> <args>
          else                   -> --exec <name> <args>

      plx --which <cmd>                      # Expands --cmd <cmd> without running
  
      plx <something> <args>                 # Shorthand for plx --cmd
  
      plx --commands <filter>?               # List available commands
  
      plx --multi [ <cmd1> <args1> ] [ ... ] # Run multiple actions
      plx --showmulti [ ... ] [ ... ]        # Show multiple action running
      plx [ ... ] [ ... ]                    # Shorthand for plx --multi
  
      plx --userinit <perl>                  # Init ~/.plx with ~/perl5 ll
      plx --installself                      # Installs plx and cpanm into layout
      plx --installenv                       # Appends plx --env call to .bashrc
      plx --userstrap <perl>                 # userinit+installself+installenv

  --help
    Prints out the usage information (i.e. the "SYNOPSIS") for plx.

  --init
      plx --init                     # resolve 'perl' in $PATH
      plx --init perl                # (ditto)
      plx --init 5.28.0              # looks for perl5.28.0 in $PATH
                                     # or perl-5.28.0 in perlbrew
      plx --init /path/to/some/perl  # uses the absolute path directly

    Initializes the layout.

    If a perl name is passed, attempts to resolve it via $PATH and
    "perlbrew" and sets the result as the layout perl; if not looks for just
    "perl".

    Creates the following libspec config:

      25-local.ll  local
      50-devel.ll  devel
      75-lib.dir   lib

  --bareinit
    Identical to "--init" but creates no default configs except for "perl".

  --base
      plx --base
      plx --base <base> <action> <args>

    Without arguments, shows the selected base dir - "plx" finds this by
    checking for a ".plx" directory in the current directory, and if not
    tries the parent directory, recursively. The search stops either when
    "plx" finds a ".git" directory, to avoid accidentally escaping a project
    repository, or at the last directory before the root - i.e. "plx" will
    test "/home" but not "/".

    With arguments, specifies a base dir to use, and then invokes the rest
    of the arguments with that base dir selected - so for example one can
    make a default configuration in $HOME available as "plh" by running:

      plx --init $HOME
      alias plh='plx --base $HOME'

  --libs
    Prints the directories that will be added to "PERL5LIB", one per line.

    These will include the "lib/perl5" subdirectory for each "ll" entry in
    the libspecs, and the directory for each "dir" entry.

  --paths
    Prints the directories that will be added to "PATH", one per line.

    These will include the containing directory of the environment's perl
    binary if not already in "PATH", followed by the "bin" directories of
    any "ll" entries in the libspecs.

  --env
    Prints the changes that will be made to your environment variables, in a
    syntax that is (hopefully) correct for your current shell.

  --cpanm
      plx --cpanm -Llocal --installdeps .
      plx --cpanm -ldevel App::Ack

    Finds the "cpanm" binary in the "PATH" that "plx" was executed *from*,
    and executes it using the layout's perl binary and environment
    variables.

    Requires the user to specify a local::lib to install into via "-l" or
    "-L" in order to avoid installing modules into unexpected places.

    Note that this action exists primarily for bootstrapping, and if you
    want to use a different installer such as App::cpm, you'd install it
    with:



( run in 0.881 second using v1.01-cache-2.11-cpan-6aa56a78535 )