default.pl
来自「PERL语言资料 可以用于PERL程序设计」· PL 代码 · 共 63 行
PL
63 行
#!perl
# Fig. 22.33: default.pl
# Default page for XML forums
use warnings;
use strict;
use CGI qw( :standard );
use XML::Parser;
use Fcntl qw( :flock );
my ( $parser, @files, @forums, @items );
open( XML, "+<../htdocs/XML/forums.xml" ) or
die( "Could not open: $!" );
flock( XML, LOCK_SH );
$parser = new XML::Parser( Handlers => { Start => \&startTag,
Char => \&text } );
$parser->parse( \*XML );
close( XML );
print( header, start_html( -title => "Deitel Message Forums",
-style => { -src => "/XML/site.css" } ) );
print( h1( "Deitel Message Forums" ) );
@items = map { a( { -href => "/XML/$files[ $_ ]" },
$forums[ $_ ] ) } ( 0 .. $#files );
print( p( strong( "Available Forums" ),
ul( li( \@items ) ) ) );
@items = ( a( { -href => "addforum.pl" }, "Add a Forum" ),
"Delete a Forum", "Modify a Forum" );
print( p( strong( "Forum Management" ), ul( li( \@items ) ) ),
end_html );
sub startTag
{
my ( $expat, $element, %attributes ) = @_;
push( @files, $attributes{ "filename" } ) if $element eq "forum";
}
sub text
{
my ( $expat, $string ) = @_;
push( @forums, $string ) if $expat->in_element( "name" );
}
##########################################################################
# (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall. #
# All Rights Reserved. #
# #
# DISCLAIMER: The authors and publisher of this book have used their #
# best efforts in preparing the book. These efforts include the #
# development, research, and testing of the theories and programs #
# to determine their effectiveness. The authors and publisher make #
# no warranty of any kind, expressed or implied, with regard to these #
# programs or to the documentation contained in these books. The authors #
# and publisher shall not be liable in any event for incidental or #
# consequential damages in connection with, or arising out of, the #
# furnishing, performance, or use of these programs. #
##########################################################################
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?