Server IP : 85.214.239.14 / Your IP : 18.118.126.69 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/libhtml-tree-perl/examples/ |
Upload File : |
#!/usr/bin/perl use warnings; use strict; use 5.008; use Pod::Usage; =head1 NAME htmltree - Parse the given HTML file(s) and dump the parse tree =head1 SYNOPSIS htmltree -D3 -w file1 file2 file3 Options: -D[number] sets HTML::TreeBuilder::Debug to that figure. -w turns on $tree->warn(1) for the new tree -h Help message =cut my $warn; my $help; BEGIN { # We have to set debug level before we use HTML::TreeBuilder. $HTML::TreeBuilder::DEBUG = 0; # default debug level $warn = 0; while(@ARGV) { # lameo switch parsing if($ARGV[0] =~ m<^-D(\d+)$>s) { $HTML::TreeBuilder::DEBUG = $1; print "Debug level $HTML::TreeBuilder::DEBUG\n"; shift @ARGV; } elsif ($ARGV[0] =~ m<^-w$>s) { $warn = 1; shift @ARGV; } elsif ($ARGV[0] =~ m<^-h$>s) { $help = 1; shift @ARGV; } else { last; } } } pod2usage({-exitval => 0, -verbose => 1}) if($help); use HTML::TreeBuilder; foreach my $file (grep( -f $_, @ARGV)) { print "=" x 78, "\n", "Parsing $file...\n"; my $h = HTML::TreeBuilder->new; $h->ignore_unknown(0); $h->warn($warn); $h->parse_file($file); print "- "x 39, "\n"; $h->dump(); $h = $h->delete(); # nuke it! print "\n\n"; } exit;