!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.3.27 

uname -a: Linux pdx1-shared-a4-04 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64 

uid=6659440(dh_z2jmpm) gid=2086089(pg10499364) groups=2086089(pg10499364)  

Safe-mode: OFF (not secure)

/usr/share/doc/libparse-recdescent-perl/examples/   drwxr-xr-x
Free 709.69 GB of 879.6 GB (80.68%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     demo_simpleXML.pl (1.87 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |

package XML2DS;
use Parse::RecDescent;
@ISA = qw( Parse::RecDescent );

sub allow_nested
{
    my ($parser, $tag, @nestedtags) = @_;
    my $nestedtags = join '|', map { '^'.$_.'$' } @nestedtags;
    $parser->{allow}{$tag} = qr/$nestedtags/;
}

sub new
{
    bless Parse::RecDescent->new(<<'EOGRAMMAR'), XML2DS;

    xml:  unitag(?)
       |  tag content[$item[1]](s) endtag[$item[1]]
                    { bless $item[2], $item[1]}

    unitag:
        m{<([a-zA-Z]+)/>}    { bless [], $1 }

    tag:
        m{<([a-zA-Z]+)>}    { $return = $1 }

    endtag:
        m{</$arg[0]>}
          |    m{(\S+)} <error: was expecting </$arg[0]> but found $1 instead>

    content: <rulevar: local $error>
    content: rawtext <commit> check[$arg[0], $item[1]]
           | xml   <commit> check[$arg[0], $item[1]]
           | <error?: $error>  <error: error in <$arg[0]> block>

    rawtext: m{[^<]+}        { bless \$item[1], 'rawtext' }

    check: { my ($outertag, $innertag) = ($arg[0], ref $arg[1]);
         $return = $arg[1] if !$thisparser->{allow}{$outertag}
                   || $innertag =~ $thisparser->{allow}{$outertag};
         $error = ($innertag eq 'rawtext')
            ? "Raw text not valid in <$outertag> block"
            : "<$innertag> tag not valid in <$outertag> block";
         undef;
        }
EOGRAMMAR
}


package main;
use Data::Dumper;

my $parser = XML2DS->new();

$parser->allow_nested( Test    => qw(Example)          );
$parser->allow_nested( Example => qw(Data    rawtext) );
$parser->allow_nested( Data    => qw(SubData rawtext) );
$parser->allow_nested( SubData => qw(Example rawtext) );

my $xml = join '', <DATA>;

if (my $tree = $parser->xml($xml))
{
    print Data::Dumper->Dump([$tree]);
}


__DATA__

<Test>
    <Example/>
    <Example>
        <Data>
            raw data
            <SubData>
                raw subdata
            </SubData>
            more raw data
        </Data>
        <Data>
            still more raw data
            <SubData>
                <Example>
                    <Data>
                        nested example data
                    </Data>
                </Example>
            </SubData>
        </Data>
        last rawtext
    </Example>
</Test>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.1352 ]--