HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ns3133907 6.8.0-86-generic #87-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 18:03:36 UTC 2025 x86_64
User: cssnetorguk (1024)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: //usr/share/doc/libhtml-parser-perl/examples/hbody
#!/usr/bin/perl

use strict;
use warnings;

use HTML::Parser ();

my $doc = <<'EOT';

<!-- This is not where <BODY> starts -->
<title>foo</title>

<script language="Perl" description="Print out <BODY>">
   open(BODY, "body.txt");
   while (<BODY>) {
     print;
   }
</script>

<!-- The next thing will be <BODY> the body -->

<Body>

Howdy!

</body>

EOT


my $body_offset;
HTML::Parser->new(
    start_h => [
        sub {
            return unless shift eq "body";
            $body_offset = shift;
            shift->eof;    # tell the parser to stop
        },
        "tagname,offset,self"
    ]
)->parse($doc);

die "No <body> found" unless defined $body_offset;

my $head = substr($doc, 0, $body_offset, "");
print $doc;