Jim-- >If you write > ><!-- #bbinclude "foobar.pl" #val1#="flurbie" #val2#="the clown" --> ><!-- end bbinclude --> > >In your perl script you should write something like this > >#!perl -w >use strict; > >my $file = shift @ARGV; >my %args = @ARGV; > >print $file, "\n"; >print "val1: $args{val1}\n"; >print "val2: $args{val2}\n"; Believe it or not, this was enough of a start for me to solve the problem. Since there are no arguments on the "command line" so to speak, I pulled the test on line 19. Once I had everything else fixed, this test would still complain, and the script would die. Here's the rewritten script, with my version of the foobar.pl script still embeded within it (returns useful info about the parsed file). Now you can add RSS content to YOUR pages! Call the script as follows: <!-- #bbinclude rss2html.pl #val1#="(<RSS file> | <URL>)" --> <!-- end bbinclude --> Where the contents of val1 can be the FULL path to an RSS file on you local machine, or a URL like http://slashdot.org/slashdot.rdf or more my speed, http://www.mycoinfo.com/downloads/mycoinfo.rdf ENJOY! #!perl -w # rss2html - converts an RSS file to HTML # It take one argument, either a file on the local system, # or an HTTP URL like http://slashdot.org/slashdot.rdf # by Jonathan Eisenzopf. v1.0 19990901 # See http://www.webreference.com/perl for more information # modified for use as BBEdit include. # INCLUDES use strict; use XML::RSS; use LWP::Simple; # Declare variables my $content; my $file; # get the argument my $thisfile = shift @ARGV; my %args = @ARGV; print '<!-- ', $thisfile, ' -->', "\n"; print '<!-- ', "URL/rss_file: $args{val1}", ' -->', "\n"; my $arg = $args{val1}; # create new instance of XML::RSS my $rss = new XML::RSS; # argument is a URL if ($arg =~ /http:/i) { $content = get($arg); die "Could not retrieve $arg" unless $content; # parse the RSS content $rss->parse($content); # argument is a file } else { $file = $arg; die "File \"$file\" does't exist.\n" unless -e $file; # parse the RSS file $rss->parsefile($file); } # print the HTML channel &print_html($rss); # SUBROUTINES sub print_html { my $rss = shift; print <<HTML; <table border="0" width="184"> <tr> <td bgcolor="#000000"> <table cellspacing="1" cellpadding="8" border=0 width="100%"> <tr> <td valign="middle" align="center" bgcolor="#cccccc"> <font face="Arial,Helvetica"> <b><a href="$rss->{'channel'}->{'link'}">$rss->{'channel'}->{'title'}</a></b> </font> </td> </tr> <tr> <td bgcolor="#ffffff"> HTML # print channel image if ($rss->{'image'}->{'link'}) { print <<HTML; <center> <p><a href="$rss->{'image'}->{'link'}"><img src="$rss->{'image'}->{'url'}" alt="$rss->{'image'}->{'title'}" border="0" HTML print " width=\"$rss->{'image'}->{'width'}\"" if $rss->{'image'}->{'width'}; print " height=\"$rss->{'image'}->{'height'}\"" if $rss->{'image'}->{'height'}; print "></a></center><p>\n"; } # print the channel items foreach my $item (@{$rss->{'items'}}) { next unless defined($item->{'title'}) && defined($item->{'link'}); print "<font size='-1'><a href=\"$item->{'link'}\">$item->{'title'}</a><br><br></font>\n"; } # if there's a textinput element if ($rss->{'textinput'}->{'title'}) { print <<HTML; <form method="get" action="$rss->{'textinput'}->{'link'}"> $rss->{'textinput'}->{'description'}<br> <input type="text" name="$rss->{'textinput'}->{'name'}"><br> <input type="submit" value="$rss->{'textinput'}->{'title'}"> </form> HTML } # if there's a copyright element if ($rss->{'channel'}->{'copyright'}) { print <<HTML; <p align="right"> <sub>$rss->{'channel'}->{'copyright'}</sub> </p> HTML } print <<HTML; </td> </tr> </table> </td> </tr> </table> HTML } __END__ --B Brian McNett, Webmaster ************************************************************* Mycoinfo. The world's first mycology e-journal. http://www.mycoinfo.com/ ************************************************************* # ===== Want to unsubscribe from this list? # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org