Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 170
  • Last Modified:

How do I make a series of text links from a directory of html files

This is in reference to
http://www.experts-exchange.com/Programming/Languages/Scripting/Perl/Q_22949794.html

I would like this script to also generate a list of the index pages used to generate the drop down list.  This text list will be layed out in a table, with each cell containing a linked number to its corresponding index##.htm page.  The table should be generated dynamically.

Also, I would like that the links in the drop down list somehow include the corresponding index##.htm into each of its generated links, so that I may use a javascript to 'grab' that info for other use.

Thanks
0
kailee
Asked:
kailee
1 Solution
 
Adam314Commented:

#!/usr/bin/perl
use HTML::Parser;
use CGI qw(:standard);
print header, start_html('title');
 
my  $p = HTML::Parser->new(
   api_version => 3,
   start_h => [\&start, "tagname, attr"],
   end_h   => [\&end,   "tagname, skipped_text"],
   );
 
 
my $value;
sub start{
      my ($tag, $attr) = @_;
      $value=undef,return if $tag ne 'a';
      return unless $attr->{href} =~ /openingindex\.htm$/;
      $value=$attr->{href};
}
chdir("/home2/mdc/public_html/mrd/final/news/");
 
my %texts;
sub end{
    my ($tag, $text) = @_;
    return if $tag ne 'a';
    return unless $value;
    $text =~ s/^\s*(.*?)\s*/$1/;
    $texts{$text}->[0] = $value;
    push @{$texts{$text}}, $FileName;
}
 
my $FileName;
$p->parse_file($FileName) foreach $FileName (<index??.htm>);
 
#To print a drop-down list:
print "<option value=\"$texts{$_}->[0]\">$_</option>\n" foreach (sort keys %texts);
 
#To print a table:
print "<tr><td>$_->[0]</td><td>$_->[1]</td></tr>\n" foreach (map {[$_, join(" ", @{$texts{$_}}[1..$#{$texts{$_}}] )]} keys %texts);

Open in new window

0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now