shlomi-fish-homepage / bin / extract-screenplay-xml-html.pl

#!/usr/bin/perl 

use strict;
use warnings;

use Getopt::Long;
use IO::All;

my $out_fn;

GetOptions(
    "output|o=s" => \$out_fn,
);

# Input the filename
my $filename = shift(@ARGV)
    or die "Give me a filename as a command argument: myscript FILENAME";

my $text = scalar(io()->file($filename)->slurp());

$text =~ s{<(/?h)(\d+)}{"<".$1.($2+1)}ge;

$text =~ s{\A.*?(<div class="screenplay")}{$1}ms;
substr($text, rindex($text, "</div>")) = "</div>";

io()->file($out_fn)->print($text);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.