📄 request.pm
字号:
# autoconf -- create `configure' using m4 macros# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2, or (at your option)# any later version.# This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA# 02110-1301, USA.package Autom4te::Request;=head1 NAMEAutom4te::Request - a single m4 run request=head1 SYNOPSIS use Autom4te::Request;=head1 DESCRIPTIONThis perl module provides various general purpose support functionsused in several executables of the Autoconf and Automake packages.=cutuse strict;use Autom4te::Struct;use Carp;use Data::Dumper;struct ( # The key of the cache files. 'id' => "\$", # True iff %MACRO contains all the macros we want to trace. 'valid' => "\$", # The include path. 'path' => '@', # The set of input files. 'input' => '@', # The set of macros currently traced. 'macro' => '%', );# Serialize a request or all the current requests.sub marshall($){ my ($caller) = @_; my $res = ''; # CALLER is an object: instance method. my $marshall = Data::Dumper->new ([$caller]); $marshall->Indent(2)->Terse(0); $res = $marshall->Dump . "\n"; return $res;}# includes_p ($SELF, @MACRO)# --------------------------# Does this request covers all the @MACRO.sub includes_p{ my ($self, @macro) = @_; foreach (@macro) { return 0 if ! exists ${$self->macro}{$_}; } return 1;}=head1 SEE ALSOL<Autom4te::C4che>=head1 HISTORYWritten by Akim Demaille E<lt>F<akim@freefriends.org>E<gt>.=cut1; # for require### Setup "GNU" style for perl-mode and cperl-mode.## Local Variables:## perl-indent-level: 2## perl-continued-statement-offset: 2## perl-continued-brace-offset: 0## perl-brace-offset: 0## perl-brace-imaginary-offset: 0## perl-label-offset: -2## cperl-indent-level: 2## cperl-brace-offset: 0## cperl-continued-brace-offset: 0## cperl-label-offset: -2## cperl-extra-newline-before-brace: t## cperl-merge-trailing-else: nil## cperl-continued-statement-offset: 2## End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -