All pastes #45854 Raw Edit

Mine

public text v1 · immutable
#45854 ·published 2006-03-15 22:04 UTC
rendered paste body
#!/usr/bin/perl

use Data::Dumper;
use File::Basename;
use File::Copy;


my ($dir) = "output";
my ($output_file) = "output.html";
my ($category) = "hsphere_end_user";

for ($i = -1; $i < $#ARGV; $i++) {
    parse_file($ARGV[$i]);
}

sub parse_file($) {
    my ($file) = shift;

    $cnt  = 1;
    open(FILE, $file) || die "Cannot open '$file': $!";
    while (<FILE>) {
        if (/^&nbsp;.*<a href=\"(.*)\"><img(.*)>(.*)<\/a>/) {
            print $_;
            print "[$1] :: $3" . "\n";

            print "Name      : '$3'\n";
            print "Link      : '$1'\n";
            print "Call it >>> ";
            $name = <STDIN>;

            chomp($name);

            $output_dir = "$dir/$name";
            if ( ! -d $output_dir) {
                mkdir($output_dir);
            }

            $swf_dir = dirname($1);

            open(INFILE, $1) || die "Cannot open '$1': $!\n";
            open(OUTPUTFILE, ">$output_dir/index.html");
            $start = 0;
            while(<INFILE>) {
                if (/<p align/) {
                    $start = 1;
                }

                if (/<embed.*src="(.*\.swf)"/) {
                    $swf_file = $1;
                }
                if (/<\/p>/) {
                    $start = 0;
                }
                print OUTPUTFILE if $start;
            }

            close(OUTPUTFILE);
            close(INFILE);

            copy("$swf_dir/$swf_file", "$output_dir/$swf_file");
            open (HTMLFILE, ">>$output_file") || die "Cannot append to '$output_file': $!\n";
            print HTMLFILE <<EOF;
    <li class="sublink"><img src="/tutorials/images/wht_toc3.gif" align="absmiddle"> <a href="/tutorials/$category/$name/"
                            onClick="return popitup('/tutorials/$category/$name/', 450, 795);">$3</a></li>
EOF

            close(HTMLFILE);

            $cnt++;
            print "\n\n";
        }

#        if ($cnt > 1) {
#            last;
#        }
    }
}