????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 13.58.187.108 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl/5.18.2/CPANPLUS/Shell/Default/Plugins/ |
Upload File : |
package CPANPLUS::Shell::Default::Plugins::Source; use deprecate; use strict; use CPANPLUS::Error qw[error msg]; use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext'; use vars qw[$VERSION]; $VERSION = "0.9135"; =head1 NAME CPANPLUS::Shell::Default::Plugins::Source - read in CPANPLUS commands =head1 SYNOPSIS CPAN Terminal> /source /tmp/list_of_commands /tmp/more_commands =head1 DESCRIPTION This is a C<CPANPLUS::Shell::Default> plugin that works just like your unix shells source(1) command; it reads in a file that has commands in it to execute, and then executes them. A sample file might look like this: # first, update all the source files x --update_source # find all of my modules that are on the CPAN # test them, and store the error log a ^KANE$' t * p /home/kane/cpan-autotest/log # and inform us we're good to go ! print "Autotest complete, log stored; please enter your commands!" Note how empty lines, and lines starting with a '#' are being skipped in the execution. =cut sub plugins { return ( source => 'source' ) } sub source { my $class = shift; my $shell = shift; my $cb = shift; my $cmd = shift; my $input = shift || ''; my $opts = shift || {}; my $verbose = $cb->configure_object->get_conf('verbose'); for my $file ( split /\s+/, $input ) { my $fh = FileHandle->new("$file") or( error(loc("Could not open file '%1': %2", $file, $!)), next ); while( my $line = <$fh> ) { chomp $line; next if $line !~ /\S+/; # skip empty/whitespace only lines next if $line =~ /^#/; # skip comments msg(loc("Dispatching '%1'", $line), $verbose); return 1 if $shell->dispatch_on_input( input => $line ); } } } sub source_help { return loc(' /source FILE [FILE ..] '. '# read in commands from the specified file' ), } 1; =pod =head1 BUG REPORTS Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>. =head1 AUTHOR This module by Jos Boumans E<lt>kane@cpan.orgE<gt>. =head1 COPYRIGHT The CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved. This library is free software; you may redistribute and/or modify it under the same terms as Perl itself. =head1 SEE ALSO L<CPANPLUS::Shell::Default>, L<CPANPLUS::Shell>, L<cpanp> =cut # Local variables: # c-indentation-style: bsd # c-basic-offset: 4 # indent-tabs-mode: nil # End: # vim: expandtab shiftwidth=4: