Server IP : 127.0.0.2 / Your IP : 18.116.14.133 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,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,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl/5.22.1/Pod/Perldoc/ |
Upload File : |
package Pod::Perldoc::BaseTo; use strict; use warnings; use vars qw($VERSION); $VERSION = '3.25'; use Carp qw(croak carp); use Config qw(%Config); use File::Spec::Functions qw(catfile); sub is_pageable { '' } sub write_with_binmode { 1 } sub output_extension { 'txt' } # override in subclass! # sub new { my $self = shift; ... } # sub parse_from_file( my($class, $in, $out) = ...; ... } #sub new { return bless {}, ref($_[0]) || $_[0] } # this is also in Perldoc.pm, but why look there when you're a # subclass of this? sub TRUE () {1} sub FALSE () {return} BEGIN { *is_vms = $^O eq 'VMS' ? \&TRUE : \&FALSE unless defined &is_vms; *is_mswin32 = $^O eq 'MSWin32' ? \&TRUE : \&FALSE unless defined &is_mswin32; *is_dos = $^O eq 'dos' ? \&TRUE : \&FALSE unless defined &is_dos; *is_os2 = $^O eq 'os2' ? \&TRUE : \&FALSE unless defined &is_os2; *is_cygwin = $^O eq 'cygwin' ? \&TRUE : \&FALSE unless defined &is_cygwin; *is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux; *is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux; *is_openbsd = $^O =~ m/openbsd/ ? \&TRUE : \&FALSE unless defined &is_openbsd; *is_bitrig = $^O =~ m/bitrig/ ? \&TRUE : \&FALSE unless defined &is_bitrig; } sub _perldoc_elem { my($self, $name) = splice @_,0,2; if(@_) { $self->{$name} = $_[0]; } else { $self->{$name}; } } sub debugging { my( $self, @messages ) = @_; ( defined(&Pod::Perldoc::DEBUG) and &Pod::Perldoc::DEBUG() ) } sub debug { my( $self, @messages ) = @_; return unless $self->debugging; print STDERR map { "DEBUG $_" } @messages; } sub warn { my( $self, @messages ) = @_; carp join "\n", @messages, ''; } sub die { my( $self, @messages ) = @_; croak join "\n", @messages, ''; } sub _get_path_components { my( $self ) = @_; my @paths = split /\Q$Config{path_sep}/, $ENV{PATH}; return @paths; } sub _find_executable_in_path { my( $self, $program ) = @_; my @found = (); foreach my $dir ( $self->_get_path_components ) { my $binary = catfile( $dir, $program ); $self->debug( "Looking for $binary\n" ); next unless -e $binary; unless( -x $binary ) { $self->warn( "Found $binary but it's not executable. Skipping.\n" ); next; } $self->debug( "Found $binary\n" ); push @found, $binary; } return @found; } 1; __END__ =head1 NAME Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters =head1 SYNOPSIS package Pod::Perldoc::ToMyFormat; use parent qw( Pod::Perldoc::BaseTo ); ... =head1 DESCRIPTION This package is meant as a base of Pod::Perldoc formatters, like L<Pod::Perldoc::ToText>, L<Pod::Perldoc::ToMan>, etc. It provides default implementations for the methods is_pageable write_with_binmode output_extension _perldoc_elem The concrete formatter must implement new parse_from_file =head1 SEE ALSO L<perldoc> =head1 COPYRIGHT AND DISCLAIMERS Copyright (c) 2002-2007 Sean M. Burke. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. =head1 AUTHOR Current maintainer: Mark Allen C<< <mallen@cpan.org> >> Past contributions from: brian d foy C<< <bdfoy@cpan.org> >> Adriano R. Ferreira C<< <ferreira@cpan.org> >>, Sean M. Burke C<< <sburke@cpan.org> >> =cut