default_new.pl
来自「PERL语言资料 可以用于PERL程序设计」· PL 代码 · 共 72 行
PL
72 行
#!/usr/bin/perl
# default.pl
# Default page for XML forums
use warnings;
use strict;
use CGI qw( :standard );
use XML::Parser;
use Fcntl qw( :flock );
my ( $parser, $prefix, @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 );
print header, start_html( -title => "Deitel Message Forums",
-style => { -src => "../XML/site.css" } );
print h1( "Deitel Message Forums" );
if ( $ENV{ "HTTP_USER_AGENT" } =~ /MSIE/i ) {
$prefix = "../XML/";
}
else {
$prefix = "forum.pl?file=";
}
@items = map { a( { -href => "$prefix$files[ $_ ]" }, $forums[ $_ ] ) }
( 0 .. $#files );
print p( strong( "Avaliable Forums" ), ul( li( \@items ) ) );
@items = ( a( { -href => "addForum.pl" }, "Add a Forum" ),
"Modify a Forum",
"Delete a Forum" );
print p( strong( "Forum Management" ), ul( li( \@items ) ) ),
end_html;
close XML;
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 + -
显示快捷键?