403Webshell
Server IP : 103.119.228.120  /  Your IP : 52.15.72.229
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /usr/local/ssl/local/ssl/local/ssl/share/perl5/vendor_perl/TAP/Parser/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/local/ssl/local/ssl/local/ssl/share/perl5/vendor_perl/TAP/Parser/Utils.pm
package TAP::Parser::Utils;

use strict;
use Exporter;
use vars qw($VERSION @ISA @EXPORT_OK);

@ISA       = qw( Exporter );
@EXPORT_OK = qw( split_shell );

=head1 NAME

TAP::Parser::Utils - Internal TAP::Parser utilities

=head1 VERSION

Version 3.28

=cut

$VERSION = '3.28';

=head1 SYNOPSIS

  use TAP::Parser::Utils qw( split_shell )
  my @switches = split_shell( $arg );

=head1 DESCRIPTION

B<FOR INTERNAL USE ONLY!>

=head2 INTERFACE

=head3 C<split_shell>

Shell style argument parsing. Handles backslash escaping, single and
double quoted strings but not shell substitutions.

Pass one or more strings containing shell escaped arguments. The return
value is an array of arguments parsed from the input strings according
to (approximate) shell parsing rules. It's legal to pass C<undef> in
which case an empty array will be returned. That makes it possible to

    my @args = split_shell( $ENV{SOME_ENV_VAR} );

without worrying about whether the environment variable exists.

This is used to split HARNESS_PERL_ARGS into individual switches.

=cut

sub split_shell {
    my @parts = ();

    for my $switch ( grep defined && length, @_ ) {
        push @parts, $1 while $switch =~ /
        ( 
            (?:   [^\\"'\s]+
                | \\. 
                | " (?: \\. | [^"] )* "
                | ' (?: \\. | [^'] )* ' 
            )+
        ) /xg;
    }

    for (@parts) {
        s/ \\(.) | ['"] /defined $1 ? $1 : ''/exg;
    }

    return @parts;
}

1;

Youez - 2016 - github.com/yon3zu
LinuXploit