HTML-FillInForm-2.22/ 000755 000765 000024 00000000000 14123725062 015463 5 ustar 00olafalders staff 000000 000000 HTML-FillInForm-2.22/perltidyrc 000644 000765 000024 00000000325 14123725062 017567 0 ustar 00olafalders staff 000000 000000 --blank-lines-before-packages=0
--iterations=2
--no-outdent-long-comments
-bar
-boc
-ci=4
-i=4
-l=78
-nolq
-se
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
HTML-FillInForm-2.22/perlcriticrc 000644 000765 000024 00000005000 14123725062 020066 0 ustar 00olafalders staff 000000 000000 severity = 3
verbose = 11
theme = core + pbp + bugs + maintenance + cosmetic + complexity + security + tests + moose
program-extensions = pl psgi t
exclude = Subroutines::ProhibitCallsToUndeclaredSubs
[BuiltinFunctions::ProhibitStringySplit]
severity = 3
[CodeLayout::RequireTrailingCommas]
severity = 3
[ControlStructures::ProhibitCStyleForLoops]
severity = 3
[Documentation::RequirePackageMatchesPodName]
severity = 3
[Freenode::WhileDiamondDefaultAssignment]
set_themes = core
[InputOutput::RequireCheckedSyscalls]
functions = :builtins
exclude_functions = sleep
severity = 3
[Moose::RequireCleanNamespace]
modules = Moose Moose::Role MooseX::Role::Parameterized Moose::Util::TypeConstraints
cleaners = namespace::autoclean
[NamingConventions::Capitalization]
package_exemptions = [A-Z]\w+|main
file_lexical_variables = [A-Z]\w+|[^A-Z]+
global_variables = :starts_with_upper
scoped_lexical_variables = [A-Z]\w+|[^A-Z]+
severity = 3
# Given our code base, leaving this at 5 would be a huge pain
[Subroutines::ProhibitManyArgs]
max_arguments = 10
[RegularExpressions::ProhibitComplexRegexes]
max_characters = 200
[RegularExpressions::ProhibitUnusualDelimiters]
severity = 3
[Subroutines::ProhibitUnusedPrivateSubroutines]
private_name_regex = _(?!build)\w+
[TestingAndDebugging::ProhibitNoWarnings]
allow = redefine
[ValuesAndExpressions::ProhibitEmptyQuotes]
severity = 3
[ValuesAndExpressions::ProhibitInterpolationOfLiterals]
severity = 3
[ValuesAndExpressions::RequireUpperCaseHeredocTerminator]
severity = 3
[Variables::ProhibitPackageVars]
add_packages = Test::Builder
[-ControlStructures::ProhibitCascadingIfElse]
[-ErrorHandling::RequireCarping]
[-InputOutput::RequireBriefOpen]
[-ValuesAndExpressions::ProhibitConstantPragma]
# No need for /xsm everywhere
[-RegularExpressions::RequireDotMatchAnything]
[-RegularExpressions::RequireExtendedFormatting]
[-RegularExpressions::RequireLineBoundaryMatching]
# by concensus in standup 2015-05-12 we decided to allow return undef
# this is mainly so bar can be written to return undef so that
# foo( bar => bar(), bazz => baz() ) won't cause problems
[-Subroutines::ProhibitExplicitReturnUndef]
# This incorrectly thinks signatures are prototypes.
[-Subroutines::ProhibitSubroutinePrototypes]
# http://stackoverflow.com/questions/2275317/why-does-perlcritic-dislike-using-shift-to-populate-subroutine-variables
[-Subroutines::RequireArgUnpacking]
[-Subroutines::RequireFinalReturn]
# "use v5.14" is more readable than "use 5.014"
[-ValuesAndExpressions::ProhibitVersionStrings]
HTML-FillInForm-2.22/README 000644 000765 000024 00000002455 14123725062 016351 0 ustar 00olafalders staff 000000 000000 This module automatically inserts data from a previous HTML form into
the HTML input and select tags. It is a subclass of HTML::Parser and
uses it to parse the HTML and insert the values into the form tags.
One useful application is after a user submits an HTML form without
filling out required field. HTML::FillInForm can be used to redisplay
the HTML form with all the form elements containing the submitted info.
Please note that this module requires HTML::Parser 3.26 or greater.
To install this module, use CPAN, for example:
cpan HTML::FillInForm
To instead build this software from source, run:
perl Makefile.PL
make
make test
make install
After installing, you can read the documentation for this module via:
perldoc HTML::FillInForm
HTML::FillInForm is installed by default by several web hosting providers,
including pair.com - see
http://www.pair.com/pair/support/library/serverconfig/perlmods.html
It is also available as a package for some Linux distribution, including Mandrake.
See:
http://rpmfind.net/linux/RPM/cooker/cooker/i586/Mandrake/RPMS/perl-HTML-FillInForm-0.29-2mdk.noarch.html
Copyright (c) 2002-2007 Thomas J. Mather, tjmather@maxmind.com
All rights reserved. This package is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
HTML-FillInForm-2.22/cpanfile 000644 000765 000024 00000002760 14123725062 017174 0 ustar 00olafalders staff 000000 000000 # This file is generated by Dist::Zilla::Plugin::CPANFile v6.024
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.
requires "Carp" => "0";
requires "integer" => "0";
requires "perl" => "5.006";
requires "strict" => "0";
requires "vars" => "0";
on 'test' => sub {
requires "CGI" => "0";
requires "ExtUtils::MakeMaker" => "0";
requires "File::Spec" => "0";
requires "HTML::TokeParser" => "0";
requires "Test" => "0";
requires "Test::More" => "0.96";
requires "perl" => "5.006";
requires "warnings" => "0";
};
on 'test' => sub {
recommends "CPAN::Meta" => "2.120900";
};
on 'configure' => sub {
requires "ExtUtils::MakeMaker" => "0";
requires "perl" => "5.006";
};
on 'develop' => sub {
requires "Code::TidyAll" => "0.71";
requires "Code::TidyAll::Plugin::SortLines::Naturally" => "0.000003";
requires "Code::TidyAll::Plugin::Test::Vars" => "0.04";
requires "Code::TidyAll::Plugin::UniqueLines" => "0.000003";
requires "Parallel::ForkManager" => "1.19";
requires "Perl::Critic" => "1.132";
requires "Perl::Tidy" => "20180220";
requires "Pod::Wordlist" => "0";
requires "Test::Mojibake" => "0";
requires "Test::More" => "0";
requires "Test::Pod" => "1.41";
requires "Test::Portability::Files" => "0";
requires "Test::Spelling" => "0.12";
requires "Test::Vars" => "0.014";
requires "Test::Version" => "1";
requires "warnings" => "0";
};
on 'develop' => sub {
recommends "Dist::Zilla::PluginBundle::Git::VersionManager" => "0.007";
};
HTML-FillInForm-2.22/Changes 000644 000765 000024 00000020051 14123725062 016754 0 ustar 00olafalders staff 000000 000000 Revision history for HTML-FillInForm
2.22 2021-09-25 23:00:59Z
- Patch bug #100926, compatibility with CGI 4 (with fallback). (GH#9) (thrig)
- Don't call _get_param(undef) for box without name attribute
(GH#10) (Chase Venters)
- Whoops, speling error. (GH#8) (thrig)
- Better indicate LICENSE details, README tweaks, more module requires (GH#7)
(thrig)
- rt #98012 - Missing dependency CGI (GH#6) (Martin McGrath)
- repository cpan metadata added (GH#5) (David Steinbrunner)
- typo fix (GH#4) (David Steinbrunner)
- Converted repo to Dist::Zilla
2.21 - August 14th, 2014
- Declare CGI.pm as a testing dependency (RT #98012, thanks to Martin McGrath)
2.20 - August 10th, 2013
- Updated to support HTML5 (RT #75933, thanks to charsbar)
2.11 - June 3rd, 2013
- Updated tests so that they pass with Perl 5.18 (Mark Stosberg)
2.1 - August 29th, 2011
- Fixed disable_fields option (#52667 Dirk Braun, Goro Fuji)
- Add an option to clear absent checkboxes (#44101 Alex Kapranoff)
- Fix incorrectly multiple escaped data in list context (#34081 Miika
Pekkarinen)
- Allow FIF to process the new field types (URL, email, and
number) as defined in the HTML5 draft and already implemented by the
iPhone. (Michael Fisher)
- Allow alternate parsing class (Mark Stosberg)
- mark invalid fields (Sam Tregar)
2.0 - September 11th, 2007
- Allow passing an arrayref of hashrefs through fdat (Mark Stosberg,
Michael Graham)
- Several new shortcuts: (Mark Stosberg)
Allow calling fill() as a class method as a shortcut.
Allow \$html as shortcut for scalarref => \$html
Allow \@html as shortcut for arrayref => \@html
Allow \*html as shortcut for file => \*html
Allow 'html' as shortcut for file => 'html'
Allow $q as shortcut for fobject => $q
Allow \%fdat as shortcut for fdat => \%fdat
In summary, instead of this:
my $fif = HTML::FillInForm->new;
$fif->fill( scalarref => \$html, fdat => \%data );
You can simply write:
HTML::FillInForm->fill( \$html, \%data );
- Fixed disable_fields bug (Boris Zentner)
- Add support for ID attribute on form tags (name attribute is deprecated
in xhtml) [rt.cpan.org #27376] (Anthony Ettinger)
1.07 - August 2nd, 2007
- Added 'disable_fields' method [rt.cpan.org #6342] (Trevor Schellhorn)
- Support IE down-level revealed HTML comments [rt.cpan.org #19468]
(Michael Peters)
- hash is not reset before each() is called [rt.cpan.org #24980] (Simon P.
Ditner)
- Fix a bug the last plaintext part might be chopped if called via
scalarref [rt.cpan.org #21750] (Tatsuhiko Miyagawa)
- Fix bug when passing 0 in array ref to textfields, also see [rt.cpan.org
#22195] (Paul Miller)
- No longer generate warning if empty array as the value for a select
attribute is passed (Dave Rolsky)
1.06 - October 13th, 2005
- Distinguish between selects with and without the multiple attribute set
(Alexander Hartmaier)
- Added warnings to PREREQ_PM
1.05 - December 19th, 2004
- Added new tests in 19_extra.t (Vsevolod (Simon) Ilyushchenko) as part of
Phalanx
- Make it clearer that doesn't have a CGI.pm dependency.
1.04 - March 8th, 2004
- Now queries passed objects for form fields as it encounters them instead
of asking for all fields up front. This allows the type of object passed
to not have to return all the fields in a empty ->param() call. (Dave
Rolsky)
- Generate XHTML-compliant tags (Dave Rolsky)
- Documented behavior when passing undef values.
- Fixed bug when HTML form has two or more radio buttons and second or
higher radio button is selected. (Dan Kubb)
- Made ignore_fields work with fdat, included new test script
18_ignore_fdat.t (James Tolley)
1.03 - October 15th 2003
- Fixed warning messages when textarea doesn't have a name attribute (Rob
Brown)
1.02 - June 10th 2003
- Updated required version number for HTML::Parser to 3.26 in Makefile.PL
(Ken Williams)
1.01 - December 31st 2002
- Fixed issue with HTML::Parser decoding high-bit entities, by setting
attr_encoded option, now requires HTML::Parser >= 3.26. (Jonathan Swartz)
1.00 - August 28th 2002
- Workaround for Opera 6.01/02 bug with selected radio boxes - place space
before ending "/>" in (Bill Moseley)
0.29 - May 5th 2002
- Added ignore_fields option (Boris Zentner)
0.28 - April 27th 2002
- Added missing ! in declaration handler (Boris Zentner)
- Fill all values with the same name if one value is passed (Boris Zentner,
Gabriel Burka)
0.27 - April 20th 2002
- Fixes to pass through comments, processing instructions, and declarations
(Boris Zentner)
0.26 - April 16th 2002
- Added fill_password option (Tatsuhiko Miyagawa)
0.25 - April 3rd 2002
- Fixed bug with passing single value to multi-valued fields (Maurice
Aubrey)
0.24 - March 3rd 2002
- Added no_debug to use CGI in t/13_warning.t
0.23 - January 4th 2002
- Cleaned up warning messages for input fields without a name (Boris Zentner)
0.22 - November 10th 2001
- Fixed bug with multiple inputs (Mark Stosberg)
0.21 - October 16th 2001
- Updated credits section
0.20 - October 16th 2001
- Fixed bug where selected value of '0' were skipped (Trevor Schellhorn)
0.19 - August 25th 2001
- Fixed bug where option values between tags had trailing or leading
whitespace (Ade Olonoh)
- Fixed bug for type tags (Andrew Creer)
- Fix for error message (object -> fobject) (Mark Stosberg)
0.18 - July 7th 2001
- Fix for test on HTML escaping (thanks to Jost Krieger for report)
0.17 - June 29th 2001
- Added "fill in target form" feature (Tatsuhiko Miyagawa)
0.16 - June 28th 2001
- Fixed problems with HTML escaping (Tatsuhiko Miyagawa)
0.15 - June 18th 2001
- Works with checkbox tags that don't have value attribute. (Philip Mak)
0.14 - May 17th 2001
- Removed warning message for submit tags. (Joseph Yanni)
0.13 - May 13th 2001
- Fixed bug when TYPE attr of input tag not set (Martin H. Sluka)
- Added docs on password caching (Mark Stosberg)
0.12 - May 11th 2001
- Support for multiple fobjects.
- Fixed bug where new documents were feed into a used $fif object.
0.11 - March 16th 2001
- Fixed problem when fdat maps the name of a textarea to an empty string
(''). Thanks to Jim Miner for the patch!
0.10 - January 19th 2001
- Fixed problem with empty option tags (e.g. ) Thanks to Ade Olonoh for the patch!
0.09 - January 15th 2001
- Text in textarea is now escaped.
0.08 - January 15th 2001
- Option tags without "value" attribute get filled in correctly.
- Will not croak anymore if fobject's param method returns undef.
0.07 - January 5th 2001
- Added support for multiple checkboxes and select fields, thanks to
Patrick Michael Kane for the patch and test script for checkboxes!
0.06 - October 9th 2000
- Fixed bug with "0" value in (hidden) fields
- Added docs from using HTML::FillInForm from Apache::ASP and
Apache::PageKit
0.05 - August 28th 2000
- Added better support for checkboxes.
0.04 - August 10th 2000
- Fixed bug with hidden fields
0.03 - August 10th 2000
- FillInForm now forces hidden fields to have a value. So is transformed to if no value is set for 'foo'.
- Fixed bug with case-sensitivity and missing checkbox. Thanks to Tom
Lancaster for this bug report and fix!
- Added some test scripts.
0.02 - June 27th 2000
- Fixed bug with option tags. Now displays all 'option' tag attributes, in
addition to selected and value. Better support for boolean attributes.
0.01 - June 18th, 2000
- Initial Release of Module.
HTML-FillInForm-2.22/INSTALL 000644 000765 000024 00000004600 14123725062 016514 0 ustar 00olafalders staff 000000 000000 This is the Perl distribution HTML-FillInForm.
Installing HTML-FillInForm is straightforward.
## Installation with cpanm
If you have cpanm, you only need one line:
% cpanm HTML::FillInForm
If it does not have permission to install modules to the current perl, cpanm
will automatically set up and install to a local::lib in your home directory.
See the local::lib documentation (https://metacpan.org/pod/local::lib) for
details on enabling it in your environment.
## Installing with the CPAN shell
Alternatively, if your CPAN shell is set up, you should just be able to do:
% cpan HTML::FillInForm
## Manual installation
As a last resort, you can manually install it. If you have not already
downloaded the release tarball, you can find the download link on the module's
MetaCPAN page: https://metacpan.org/pod/HTML::FillInForm
Untar the tarball, install configure prerequisites (see below), then build it:
% perl Makefile.PL
% make && make test
Then install it:
% make install
On Windows platforms, you should use `dmake` or `nmake`, instead of `make`.
If your perl is system-managed, you can create a local::lib in your home
directory to install modules to. For details, see the local::lib documentation:
https://metacpan.org/pod/local::lib
The prerequisites of this distribution will also have to be installed manually. The
prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated
by running the manual build process described above.
## Configure Prerequisites
This distribution requires other modules to be installed before this
distribution's installer can be run. They can be found under the
"configure_requires" key of META.yml or the
"{prereqs}{configure}{requires}" key of META.json.
## Other Prerequisites
This distribution may require additional modules to be installed after running
Makefile.PL.
Look for prerequisites in the following phases:
* to run make, PHASE = build
* to use the module code itself, PHASE = runtime
* to run tests, PHASE = test
They can all be found in the "PHASE_requires" key of MYMETA.yml or the
"{prereqs}{PHASE}{requires}" key of MYMETA.json.
## Documentation
HTML-FillInForm documentation is available as POD.
You can run `perldoc` from a shell to read the documentation:
% perldoc HTML::FillInForm
For more information on installing Perl modules via CPAN, please see:
https://www.cpan.org/modules/INSTALL.html
HTML-FillInForm-2.22/MANIFEST 000644 000765 000024 00000001625 14123725062 016620 0 ustar 00olafalders staff 000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.024.
CONTRIBUTORS
Changes
INSTALL
LICENSE
MANIFEST
META.json
META.yml
Makefile.PL
README
README.md
cpanfile
dist.ini
lib/HTML/FillInForm.pm
perlcriticrc
perltidyrc
t/00-report-prereqs.dd
t/00-report-prereqs.t
t/00_base.t
t/01_form.t
t/02_hidden.t
t/03_checkbox.t
t/04_select.t
t/05_textarea.t
t/06_radio.t
t/07_reuse.t
t/08_multiple_objects.t
t/09_default_type.t
t/10_escape.t
t/11_target.t
t/12_mult.t
t/13_warning.t
t/14_password.t
t/15_multiple_fields.t
t/16_ignore_fields.t
t/17_xhtml.t
t/18_ignore_fdat.t
t/19_extra.t
t/20_scalarref.t
t/21_disable_fields.t
t/22_undef.t
t/23_absent_checkbox.t
t/24_radio_absent_checkboxes.t
t/25_select_absent_checkboxes.t
t/26_invalid_fields.t
t/27_html5.t
t/data/form1.html
tidyall.ini
xt/author/mojibake.t
xt/author/pod-spell.t
xt/author/pod-syntax.t
xt/author/portability.t
xt/author/test-version.t
HTML-FillInForm-2.22/LICENSE 000644 000765 000024 00000043741 14123725062 016501 0 ustar 00olafalders staff 000000 000000 This software is copyright (c) 2000 by TJ Mather, tjmather@maxmind.com.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
Terms of the Perl programming language system itself
a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
b) the "Artistic License"
--- The GNU General Public License, Version 1, February 1989 ---
This software is Copyright (c) 2000 by TJ Mather, tjmather@maxmind.com.
This is free software, licensed under:
The GNU General Public License, Version 1, February 1989
GNU GENERAL PUBLIC LICENSE
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The license agreements of most software companies try to keep users
at the mercy of those companies. By contrast, our General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. The
General Public License applies to the Free Software Foundation's
software and to any other program whose authors commit to using it.
You can use it for your programs, too.
When we speak of free software, we are referring to freedom, not
price. Specifically, the General Public License is designed to make
sure that you have the freedom to give away or sell copies of free
software, that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of a such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must tell them their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any program or other work which
contains a notice placed by the copyright holder saying it may be
distributed under the terms of this General Public License. The
"Program", below, refers to any such program or work, and a "work based
on the Program" means either the Program or any work containing the
Program or a portion of it, either verbatim or with modifications. Each
licensee is addressed as "you".
1. You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this
General Public License and to the absence of any warranty; and give any
other recipients of the Program a copy of this General Public License
along with the Program. You may charge a fee for the physical act of
transferring a copy.
2. You may modify your copy or copies of the Program or any portion of
it, and copy and distribute such modifications under the terms of Paragraph
1 above, provided that you also do the following:
a) cause the modified files to carry prominent notices stating that
you changed the files and the date of any change; and
b) cause the whole of any work that you distribute or publish, that
in whole or in part contains the Program or any part thereof, either
with or without modifications, to be licensed at no charge to all
third parties under the terms of this General Public License (except
that you may choose to grant warranty protection to some or all
third parties, at your option).
c) If the modified program normally reads commands interactively when
run, you must cause it, when started running for such interactive use
in the simplest and most usual way, to print or display an
announcement including an appropriate copyright notice and a notice
that there is no warranty (or else, saying that you provide a
warranty) and that users may redistribute the program under these
conditions, and telling the user how to view a copy of this General
Public License.
d) You may charge a fee for the physical act of transferring a
copy, and you may at your option offer warranty protection in
exchange for a fee.
Mere aggregation of another independent work with the Program (or its
derivative) on a volume of a storage or distribution medium does not bring
the other work under the scope of these terms.
3. You may copy and distribute the Program (or a portion or derivative of
it, under Paragraph 2) in object code or executable form under the terms of
Paragraphs 1 and 2 above provided that you also do one of the following:
a) accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of
Paragraphs 1 and 2 above; or,
b) accompany it with a written offer, valid for at least three
years, to give any third party free (except for a nominal charge
for the cost of distribution) a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of
Paragraphs 1 and 2 above; or,
c) accompany it with the information you received as to where the
corresponding source code may be obtained. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form alone.)
Source code for a work means the preferred form of the work for making
modifications to it. For an executable file, complete source code means
all the source code for all modules it contains; but, as a special
exception, it need not include source code for modules which are standard
libraries that accompany the operating system on which the executable
file runs, or for standard header files or definitions files that
accompany that operating system.
4. You may not copy, modify, sublicense, distribute or transfer the
Program except as expressly provided under this General Public License.
Any attempt otherwise to copy, modify, sublicense, distribute or transfer
the Program is void, and will automatically terminate your rights to use
the Program under this License. However, parties who have received
copies, or rights to use copies, from you under this General Public
License will not have their licenses terminated so long as such parties
remain in full compliance.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of the license which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
the license, you may choose any version ever published by the Free Software
Foundation.
8. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
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 1, 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
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19xx name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and `show
c'; they could even be mouse-clicks or menu items--whatever suits your
program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
program `Gnomovision' (a program to direct compilers to make passes
at assemblers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
That's all there is to it!
--- The Artistic License 1.0 ---
This software is Copyright (c) 2000 by TJ Mather, tjmather@maxmind.com.
This is free software, licensed under:
The Artistic License 1.0
The Artistic License
Preamble
The intent of this document is to state the conditions under which a Package
may be copied, such that the Copyright Holder maintains some semblance of
artistic control over the development of the package, while giving the users of
the package the right to use and distribute the Package in a more-or-less
customary fashion, plus the right to make reasonable modifications.
Definitions:
- "Package" refers to the collection of files distributed by the Copyright
Holder, and derivatives of that collection of files created through
textual modification.
- "Standard Version" refers to such a Package if it has not been modified,
or has been modified in accordance with the wishes of the Copyright
Holder.
- "Copyright Holder" is whoever is named in the copyright or copyrights for
the package.
- "You" is you, if you're thinking about copying or distributing this Package.
- "Reasonable copying fee" is whatever you can justify on the basis of media
cost, duplication charges, time of people involved, and so on. (You will
not be required to justify it to the Copyright Holder, but only to the
computing community at large as a market that must bear the fee.)
- "Freely Available" means that no fee is charged for the item itself, though
there may be fees involved in handling the item. It also means that
recipients of the item may redistribute it under the same conditions they
received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived
from the Public Domain or from the Copyright Holder. A Package modified in such
a way shall still be considered the Standard Version.
3. You may otherwise modify your copy of this Package in any way, provided that
you insert a prominent notice in each changed file stating how and when you
changed that file, and provided that you do at least ONE of the following:
a) place your modifications in the Public Domain or otherwise make them
Freely Available, such as by posting said modifications to Usenet or an
equivalent medium, or placing the modifications on a major archive site
such as ftp.uu.net, or by allowing the Copyright Holder to include your
modifications in the Standard Version of the Package.
b) use the modified Package only within your corporation or organization.
c) rename any non-standard executables so the names do not conflict with
standard executables, which must also be provided, and provide a separate
manual page for each non-standard executable that clearly documents how it
differs from the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
4. You may distribute the programs of this Package in object code or executable
form, provided that you do at least ONE of the following:
a) distribute a Standard Version of the executables and library files,
together with instructions (in the manual page or equivalent) on where to
get the Standard Version.
b) accompany the distribution with the machine-readable source of the Package
with your modifications.
c) accompany any non-standard executables with their corresponding Standard
Version executables, giving the non-standard executables non-standard
names, and clearly documenting the differences in manual pages (or
equivalent), together with instructions on where to get the Standard
Version.
d) make other distribution arrangements with the Copyright Holder.
5. You may charge a reasonable copying fee for any distribution of this
Package. You may charge any fee you choose for support of this Package. You
may not charge a fee for this Package itself. However, you may distribute this
Package in aggregate with other (possibly commercial) programs as part of a
larger (possibly commercial) software distribution provided that you do not
advertise this Package as a product of your own.
6. The scripts and library files supplied as input to or produced as output
from the programs of this Package do not automatically fall under the copyright
of this Package, but belong to whomever generated them, and may be sold
commercially, and may be aggregated with this Package.
7. C or perl subroutines supplied by you and linked into this Package shall not
be considered part of this Package.
8. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The End
HTML-FillInForm-2.22/t/ 000755 000765 000024 00000000000 14123725062 015726 5 ustar 00olafalders staff 000000 000000 HTML-FillInForm-2.22/xt/ 000755 000765 000024 00000000000 14123725062 016116 5 ustar 00olafalders staff 000000 000000 HTML-FillInForm-2.22/META.yml 000644 000765 000024 00000041347 14123725062 016745 0 ustar 00olafalders staff 000000 000000 ---
abstract: 'Populates HTML Forms with data.'
author:
- 'TJ Mather, tjmather@maxmind.com'
build_requires:
CGI: '0'
ExtUtils::MakeMaker: '0'
File::Spec: '0'
HTML::TokeParser: '0'
Test: '0'
Test::More: '0.96'
perl: '5.006'
warnings: '0'
configure_requires:
ExtUtils::MakeMaker: '0'
perl: '5.006'
dynamic_config: 0
generated_by: 'Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: HTML-FillInForm
no_index:
directory:
- examples
- t
- xt
requires:
Carp: '0'
integer: '0'
perl: '5.006'
strict: '0'
vars: '0'
resources:
bugtracker: https://github.com/oalders/HTML-FillInForm/issues
homepage: https://github.com/oalders/HTML-FillInForm
repository: https://github.com/oalders/HTML-FillInForm.git
version: '2.22'
x_Dist_Zilla:
perl:
version: '5.034000'
plugins:
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
Dist::Zilla::Plugin::PromptIfStale:
check_all_plugins: 0
check_all_prereqs: 0
modules:
- Dist::Zilla::PluginBundle::Author::OALDERS
phase: build
run_under_travis: 0
skip: []
name: '@Author::OALDERS/stale modules, build'
version: '0.057'
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
Dist::Zilla::Plugin::PromptIfStale:
check_all_plugins: 1
check_all_prereqs: 1
modules: []
phase: release
run_under_travis: 0
skip: []
name: '@Author::OALDERS/stale modules, release'
version: '0.057'
-
class: Dist::Zilla::Plugin::OALDERS::TidyAll
name: '@Author::OALDERS/OALDERS::TidyAll'
version: '0.000029'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@Author::OALDERS/AutoPrereqs'
version: '6.024'
-
class: Dist::Zilla::Plugin::CheckChangesHasContent
name: '@Author::OALDERS/CheckChangesHasContent'
version: '0.011'
-
class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: '1'
name: '@Author::OALDERS/MakeMaker'
version: '6.024'
-
class: Dist::Zilla::Plugin::CPANFile
name: '@Author::OALDERS/CPANFile'
version: '6.024'
-
class: Dist::Zilla::Plugin::ContributorsFile
name: '@Author::OALDERS/ContributorsFile'
version: 0.3.0
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@Author::OALDERS/MetaJSON'
version: '6.024'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@Author::OALDERS/MetaYAML'
version: '6.024'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Author::OALDERS/Manifest'
version: '6.024'
-
class: Dist::Zilla::Plugin::MetaNoIndex
name: '@Author::OALDERS/MetaNoIndex'
version: '6.024'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@Author::OALDERS/MetaConfig'
version: '6.024'
-
class: Dist::Zilla::Plugin::MetaResources
name: '@Author::OALDERS/MetaResources'
version: '6.024'
-
class: Dist::Zilla::Plugin::License
name: '@Author::OALDERS/License'
version: '6.024'
-
class: Dist::Zilla::Plugin::InstallGuide
config:
Dist::Zilla::Role::ModuleMetadata:
Module::Metadata: '1.000037'
version: '0.006'
name: '@Author::OALDERS/InstallGuide'
version: '1.200014'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: develop
type: requires
name: '@Author::OALDERS/Modules for use with tidyall'
version: '6.024'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@Author::OALDERS/ExecDir'
version: '6.024'
-
class: Dist::Zilla::Plugin::Test::PodSpelling
config:
Dist::Zilla::Plugin::Test::PodSpelling:
directories:
- bin
- lib
spell_cmd: ''
stopwords:
- Alders
- "Alders'"
- Atsushi
- Embperl
- Kato
- checkboxes
- html
- masonhq
- redisplay
- scalarref
- xml
wordlist: Pod::Wordlist
name: '@Author::OALDERS/Test::PodSpelling'
version: '2.007005'
-
class: Dist::Zilla::Plugin::MojibakeTests
name: '@Author::OALDERS/MojibakeTests'
version: '0.8'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@Author::OALDERS/PodSyntaxTests'
version: '6.024'
-
class: Dist::Zilla::Plugin::Test::Portability
config:
Dist::Zilla::Plugin::Test::Portability:
options: ''
name: '@Author::OALDERS/Test::Portability'
version: '2.001000'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@Author::OALDERS/TestRelease'
version: '6.024'
-
class: Dist::Zilla::Plugin::Test::ReportPrereqs
name: '@Author::OALDERS/Test::ReportPrereqs'
version: '0.028'
-
class: Dist::Zilla::Plugin::Test::Version
name: '@Author::OALDERS/Test::Version'
version: '1.09'
-
class: Dist::Zilla::Plugin::RunExtraTests
config:
Dist::Zilla::Role::TestRunner:
default_jobs: '1'
name: '@Author::OALDERS/RunExtraTests'
version: '0.029'
-
class: Dist::Zilla::Plugin::MinimumPerl
name: '@Author::OALDERS/MinimumPerl'
version: '1.006'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
Dist::Zilla::Plugin::PodWeaver:
finder:
- ':InstallModules'
- ':ExecFiles'
plugins:
-
class: Pod::Weaver::Plugin::EnsurePod5
name: '@CorePrep/EnsurePod5'
version: '4.018'
-
class: Pod::Weaver::Plugin::H1Nester
name: '@CorePrep/H1Nester'
version: '4.018'
-
class: Pod::Weaver::Plugin::SingleEncoding
name: '@Default/SingleEncoding'
version: '4.018'
-
class: Pod::Weaver::Section::Name
name: '@Default/Name'
version: '4.018'
-
class: Pod::Weaver::Section::Version
name: '@Default/Version'
version: '4.018'
-
class: Pod::Weaver::Section::Region
name: '@Default/prelude'
version: '4.018'
-
class: Pod::Weaver::Section::Generic
name: SYNOPSIS
version: '4.018'
-
class: Pod::Weaver::Section::Generic
name: DESCRIPTION
version: '4.018'
-
class: Pod::Weaver::Section::Generic
name: OVERVIEW
version: '4.018'
-
class: Pod::Weaver::Section::Collect
name: ATTRIBUTES
version: '4.018'
-
class: Pod::Weaver::Section::Collect
name: METHODS
version: '4.018'
-
class: Pod::Weaver::Section::Collect
name: FUNCTIONS
version: '4.018'
-
class: Pod::Weaver::Section::Leftovers
name: '@Default/Leftovers'
version: '4.018'
-
class: Pod::Weaver::Section::Region
name: '@Default/postlude'
version: '4.018'
-
class: Pod::Weaver::Section::Authors
name: '@Default/Authors'
version: '4.018'
-
class: Pod::Weaver::Section::Legal
name: '@Default/Legal'
version: '4.018'
name: '@Author::OALDERS/PodWeaver'
version: '4.009'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@Author::OALDERS/PruneCruft'
version: '6.024'
-
class: Dist::Zilla::Plugin::CopyFilesFromBuild
name: '@Author::OALDERS/CopyFilesFromBuild'
version: '0.170880'
-
class: Dist::Zilla::Plugin::GithubMeta
name: '@Author::OALDERS/GithubMeta'
version: '0.58'
-
class: Dist::Zilla::Plugin::Git::GatherDir
config:
Dist::Zilla::Plugin::GatherDir:
exclude_filename:
- Install
- LICENSE
- META.json
- Makefile.PL
- README.md
- cpanfile
exclude_match: []
follow_symlinks: 0
include_dotfiles: 0
prefix: ''
prune_directory: []
root: .
Dist::Zilla::Plugin::Git::GatherDir:
include_untracked: 0
name: '@Author::OALDERS/Git::GatherDir'
version: '2.048'
-
class: Dist::Zilla::Plugin::CopyFilesFromRelease
config:
Dist::Zilla::Plugin::CopyFilesFromRelease:
filename:
- Install
match: []
name: '@Author::OALDERS/CopyFilesFromRelease'
version: '0.007'
-
class: Dist::Zilla::Plugin::Git::Check
config:
Dist::Zilla::Plugin::Git::Check:
untracked_files: die
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- Changes
- Install
- LICENSE
- META.json
- Makefile.PL
- README.md
- cpanfile
- dist.ini
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
git_version: 2.33.0
repo_root: .
name: '@Author::OALDERS/Git::Check'
version: '2.048'
-
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
git_version: 2.33.0
include_authors: 0
include_releaser: 1
order_by: name
paths: []
name: '@Author::OALDERS/Git::Contributors'
version: '0.036'
-
class: Dist::Zilla::Plugin::ReadmeAnyFromPod
config:
Dist::Zilla::Role::FileWatcher:
version: '0.006'
name: '@Author::OALDERS/ReadmeMdInBuild'
version: '0.163250'
-
class: Dist::Zilla::Plugin::StaticInstall
config:
Dist::Zilla::Plugin::StaticInstall:
dry_run: 0
mode: on
name: '@Author::OALDERS/StaticInstall'
version: '0.012'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@Author::OALDERS/ShareDir'
version: '6.024'
-
class: Dist::Zilla::Plugin::CheckIssues
name: '@Author::OALDERS/CheckIssues'
version: '0.011'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@Author::OALDERS/ConfirmRelease'
version: '6.024'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@Author::OALDERS/UploadToCPAN'
version: '6.024'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: develop
type: recommends
name: '@Author::OALDERS/@Git::VersionManager/pluginbundle version'
version: '6.024'
-
class: Dist::Zilla::Plugin::RewriteVersion::Transitional
config:
Dist::Zilla::Plugin::RewriteVersion:
add_tarball_name: 0
finders:
- ':ExecFiles'
- ':InstallModules'
global: 0
skip_version_provider: 0
Dist::Zilla::Plugin::RewriteVersion::Transitional: {}
name: '@Author::OALDERS/@Git::VersionManager/RewriteVersion::Transitional'
version: '0.009'
-
class: Dist::Zilla::Plugin::MetaProvides::Update
name: '@Author::OALDERS/@Git::VersionManager/MetaProvides::Update'
version: '0.007'
-
class: Dist::Zilla::Plugin::CopyFilesFromRelease
config:
Dist::Zilla::Plugin::CopyFilesFromRelease:
filename:
- Changes
match: []
name: '@Author::OALDERS/@Git::VersionManager/CopyFilesFromRelease'
version: '0.007'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
Dist::Zilla::Plugin::Git::Commit:
add_files_in: []
commit_msg: v%V%n%n%c
signoff: 0
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- Changes
- Install
- LICENSE
- META.json
- Makefile.PL
- README.md
- cpanfile
- dist.ini
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
git_version: 2.33.0
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@Author::OALDERS/@Git::VersionManager/release snapshot'
version: '2.048'
-
class: Dist::Zilla::Plugin::Git::Tag
config:
Dist::Zilla::Plugin::Git::Tag:
branch: ~
changelog: Changes
signed: 0
tag: v2.22
tag_format: v%V
tag_message: v%V
Dist::Zilla::Role::Git::Repo:
git_version: 2.33.0
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@Author::OALDERS/@Git::VersionManager/Git::Tag'
version: '2.048'
-
class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional
config:
Dist::Zilla::Plugin::BumpVersionAfterRelease:
finders:
- ':ExecFiles'
- ':InstallModules'
global: 0
munge_makefile_pl: 1
Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional: {}
name: '@Author::OALDERS/@Git::VersionManager/BumpVersionAfterRelease::Transitional'
version: '0.009'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@Author::OALDERS/@Git::VersionManager/NextRelease'
version: '6.024'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
Dist::Zilla::Plugin::Git::Commit:
add_files_in: []
commit_msg: 'increment $VERSION after %v release'
signoff: 0
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- Build.PL
- Changes
- Makefile.PL
allow_dirty_match:
- (?^:^lib/.*\.pm$)
changelog: Changes
Dist::Zilla::Role::Git::Repo:
git_version: 2.33.0
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@Author::OALDERS/@Git::VersionManager/post-release commit'
version: '2.048'
-
class: Dist::Zilla::Plugin::Git::Push
config:
Dist::Zilla::Plugin::Git::Push:
push_to:
- origin
remotes_must_exist: 1
Dist::Zilla::Role::Git::Repo:
git_version: 2.33.0
repo_root: .
name: '@Author::OALDERS/Git::Push'
version: '2.048'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: test
type: requires
name: TestRequires
version: '6.024'
-
class: Dist::Zilla::Plugin::GitHubREADME::Badge
name: GitHubREADME::Badge
version: '0.33'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExtraTestFiles'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':PerlExecFiles'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
version: '6.024'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
version: '6.024'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
version: '6.024'
x_contributors:
- 'Chase Venters '
- 'David Steinbrunner '
- 'Jeremy Mates '
- 'Kenichi Ishigaki '
- 'Mark Stosberg '
- 'Mark Stosberg '
- 'Mark Stosberg '
- 'Martin McGrath '
- 'Olaf Alders '
- 'Olaf Alders '
x_generated_by_perl: v5.34.0
x_serialization_backend: 'YAML::Tiny version 1.73'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
x_static_install: 1
HTML-FillInForm-2.22/CONTRIBUTORS 000644 000765 000024 00000000715 14123725062 017346 0 ustar 00olafalders staff 000000 000000
# HTML-FILLINFORM CONTRIBUTORS #
This is the (likely incomplete) list of people who have helped
make this distribution what it is, either via code contributions,
patches, bug reports, help with troubleshooting, etc. A huge
'thank you' to all of them.
* Chase Venters
* David Steinbrunner
* Jeremy Mates
* Kenichi Ishigaki
* Mark Stosberg
* Mark Stosberg
* Mark Stosberg
* Martin McGrath
* Olaf Alders
* Olaf Alders
HTML-FillInForm-2.22/META.json 000644 000765 000024 00000064415 14123725062 017116 0 ustar 00olafalders staff 000000 000000 {
"abstract" : "Populates HTML Forms with data.",
"author" : [
"TJ Mather, tjmather@maxmind.com"
],
"dynamic_config" : 0,
"generated_by" : "Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
},
"name" : "HTML-FillInForm",
"no_index" : {
"directory" : [
"examples",
"t",
"xt"
]
},
"prereqs" : {
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0",
"perl" : "5.006"
}
},
"develop" : {
"recommends" : {
"Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007"
},
"requires" : {
"Code::TidyAll" : "0.71",
"Code::TidyAll::Plugin::SortLines::Naturally" : "0.000003",
"Code::TidyAll::Plugin::Test::Vars" : "0.04",
"Code::TidyAll::Plugin::UniqueLines" : "0.000003",
"Parallel::ForkManager" : "1.19",
"Perl::Critic" : "1.132",
"Perl::Tidy" : "20180220",
"Pod::Wordlist" : "0",
"Test::Mojibake" : "0",
"Test::More" : "0",
"Test::Pod" : "1.41",
"Test::Portability::Files" : "0",
"Test::Spelling" : "0.12",
"Test::Vars" : "0.014",
"Test::Version" : "1",
"warnings" : "0"
}
},
"runtime" : {
"requires" : {
"Carp" : "0",
"integer" : "0",
"perl" : "5.006",
"strict" : "0",
"vars" : "0"
}
},
"test" : {
"recommends" : {
"CPAN::Meta" : "2.120900"
},
"requires" : {
"CGI" : "0",
"ExtUtils::MakeMaker" : "0",
"File::Spec" : "0",
"HTML::TokeParser" : "0",
"Test" : "0",
"Test::More" : "0.96",
"perl" : "5.006",
"warnings" : "0"
}
}
},
"release_status" : "stable",
"resources" : {
"bugtracker" : {
"web" : "https://github.com/oalders/HTML-FillInForm/issues"
},
"homepage" : "https://github.com/oalders/HTML-FillInForm",
"repository" : {
"type" : "git",
"url" : "https://github.com/oalders/HTML-FillInForm.git",
"web" : "https://github.com/oalders/HTML-FillInForm"
}
},
"version" : "2.22",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.034000"
},
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
"config" : {
"Dist::Zilla::Plugin::PromptIfStale" : {
"check_all_plugins" : 0,
"check_all_prereqs" : 0,
"modules" : [
"Dist::Zilla::PluginBundle::Author::OALDERS"
],
"phase" : "build",
"run_under_travis" : 0,
"skip" : []
}
},
"name" : "@Author::OALDERS/stale modules, build",
"version" : "0.057"
},
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
"config" : {
"Dist::Zilla::Plugin::PromptIfStale" : {
"check_all_plugins" : 1,
"check_all_prereqs" : 1,
"modules" : [],
"phase" : "release",
"run_under_travis" : 0,
"skip" : []
}
},
"name" : "@Author::OALDERS/stale modules, release",
"version" : "0.057"
},
{
"class" : "Dist::Zilla::Plugin::OALDERS::TidyAll",
"name" : "@Author::OALDERS/OALDERS::TidyAll",
"version" : "0.000029"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@Author::OALDERS/AutoPrereqs",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
"name" : "@Author::OALDERS/CheckChangesHasContent",
"version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
"config" : {
"Dist::Zilla::Role::TestRunner" : {
"default_jobs" : "1"
}
},
"name" : "@Author::OALDERS/MakeMaker",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::CPANFile",
"name" : "@Author::OALDERS/CPANFile",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::ContributorsFile",
"name" : "@Author::OALDERS/ContributorsFile",
"version" : "0.3.0"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@Author::OALDERS/MetaJSON",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@Author::OALDERS/MetaYAML",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@Author::OALDERS/Manifest",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::MetaNoIndex",
"name" : "@Author::OALDERS/MetaNoIndex",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@Author::OALDERS/MetaConfig",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::MetaResources",
"name" : "@Author::OALDERS/MetaResources",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@Author::OALDERS/License",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::InstallGuide",
"config" : {
"Dist::Zilla::Role::ModuleMetadata" : {
"Module::Metadata" : "1.000037",
"version" : "0.006"
}
},
"name" : "@Author::OALDERS/InstallGuide",
"version" : "1.200014"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "develop",
"type" : "requires"
}
},
"name" : "@Author::OALDERS/Modules for use with tidyall",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@Author::OALDERS/ExecDir",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::Test::PodSpelling",
"config" : {
"Dist::Zilla::Plugin::Test::PodSpelling" : {
"directories" : [
"bin",
"lib"
],
"spell_cmd" : "",
"stopwords" : [
"Alders",
"Alders'",
"Atsushi",
"Embperl",
"Kato",
"checkboxes",
"html",
"masonhq",
"redisplay",
"scalarref",
"xml"
],
"wordlist" : "Pod::Wordlist"
}
},
"name" : "@Author::OALDERS/Test::PodSpelling",
"version" : "2.007005"
},
{
"class" : "Dist::Zilla::Plugin::MojibakeTests",
"name" : "@Author::OALDERS/MojibakeTests",
"version" : "0.8"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@Author::OALDERS/PodSyntaxTests",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::Test::Portability",
"config" : {
"Dist::Zilla::Plugin::Test::Portability" : {
"options" : ""
}
},
"name" : "@Author::OALDERS/Test::Portability",
"version" : "2.001000"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@Author::OALDERS/TestRelease",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
"name" : "@Author::OALDERS/Test::ReportPrereqs",
"version" : "0.028"
},
{
"class" : "Dist::Zilla::Plugin::Test::Version",
"name" : "@Author::OALDERS/Test::Version",
"version" : "1.09"
},
{
"class" : "Dist::Zilla::Plugin::RunExtraTests",
"config" : {
"Dist::Zilla::Role::TestRunner" : {
"default_jobs" : "1"
}
},
"name" : "@Author::OALDERS/RunExtraTests",
"version" : "0.029"
},
{
"class" : "Dist::Zilla::Plugin::MinimumPerl",
"name" : "@Author::OALDERS/MinimumPerl",
"version" : "1.006"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
"config" : {
"Dist::Zilla::Plugin::PodWeaver" : {
"finder" : [
":InstallModules",
":ExecFiles"
],
"plugins" : [
{
"class" : "Pod::Weaver::Plugin::EnsurePod5",
"name" : "@CorePrep/EnsurePod5",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Plugin::H1Nester",
"name" : "@CorePrep/H1Nester",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Plugin::SingleEncoding",
"name" : "@Default/SingleEncoding",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Name",
"name" : "@Default/Name",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Version",
"name" : "@Default/Version",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Region",
"name" : "@Default/prelude",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Generic",
"name" : "SYNOPSIS",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Generic",
"name" : "DESCRIPTION",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Generic",
"name" : "OVERVIEW",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "ATTRIBUTES",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "METHODS",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "FUNCTIONS",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Leftovers",
"name" : "@Default/Leftovers",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Region",
"name" : "@Default/postlude",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Authors",
"name" : "@Default/Authors",
"version" : "4.018"
},
{
"class" : "Pod::Weaver::Section::Legal",
"name" : "@Default/Legal",
"version" : "4.018"
}
]
}
},
"name" : "@Author::OALDERS/PodWeaver",
"version" : "4.009"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@Author::OALDERS/PruneCruft",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromBuild",
"name" : "@Author::OALDERS/CopyFilesFromBuild",
"version" : "0.170880"
},
{
"class" : "Dist::Zilla::Plugin::GithubMeta",
"name" : "@Author::OALDERS/GithubMeta",
"version" : "0.58"
},
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
"config" : {
"Dist::Zilla::Plugin::GatherDir" : {
"exclude_filename" : [
"Install",
"LICENSE",
"META.json",
"Makefile.PL",
"README.md",
"cpanfile"
],
"exclude_match" : [],
"follow_symlinks" : 0,
"include_dotfiles" : 0,
"prefix" : "",
"prune_directory" : [],
"root" : "."
},
"Dist::Zilla::Plugin::Git::GatherDir" : {
"include_untracked" : 0
}
},
"name" : "@Author::OALDERS/Git::GatherDir",
"version" : "2.048"
},
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
"config" : {
"Dist::Zilla::Plugin::CopyFilesFromRelease" : {
"filename" : [
"Install"
],
"match" : []
}
},
"name" : "@Author::OALDERS/CopyFilesFromRelease",
"version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
"config" : {
"Dist::Zilla::Plugin::Git::Check" : {
"untracked_files" : "die"
},
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
"Changes",
"Install",
"LICENSE",
"META.json",
"Makefile.PL",
"README.md",
"cpanfile",
"dist.ini"
],
"allow_dirty_match" : [],
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.33.0",
"repo_root" : "."
}
},
"name" : "@Author::OALDERS/Git::Check",
"version" : "2.048"
},
{
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
"git_version" : "2.33.0",
"include_authors" : 0,
"include_releaser" : 1,
"order_by" : "name",
"paths" : []
}
},
"name" : "@Author::OALDERS/Git::Contributors",
"version" : "0.036"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
"config" : {
"Dist::Zilla::Role::FileWatcher" : {
"version" : "0.006"
}
},
"name" : "@Author::OALDERS/ReadmeMdInBuild",
"version" : "0.163250"
},
{
"class" : "Dist::Zilla::Plugin::StaticInstall",
"config" : {
"Dist::Zilla::Plugin::StaticInstall" : {
"dry_run" : 0,
"mode" : "on"
}
},
"name" : "@Author::OALDERS/StaticInstall",
"version" : "0.012"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@Author::OALDERS/ShareDir",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::CheckIssues",
"name" : "@Author::OALDERS/CheckIssues",
"version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@Author::OALDERS/ConfirmRelease",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@Author::OALDERS/UploadToCPAN",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "develop",
"type" : "recommends"
}
},
"name" : "@Author::OALDERS/@Git::VersionManager/pluginbundle version",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional",
"config" : {
"Dist::Zilla::Plugin::RewriteVersion" : {
"add_tarball_name" : 0,
"finders" : [
":ExecFiles",
":InstallModules"
],
"global" : 0,
"skip_version_provider" : 0
},
"Dist::Zilla::Plugin::RewriteVersion::Transitional" : {}
},
"name" : "@Author::OALDERS/@Git::VersionManager/RewriteVersion::Transitional",
"version" : "0.009"
},
{
"class" : "Dist::Zilla::Plugin::MetaProvides::Update",
"name" : "@Author::OALDERS/@Git::VersionManager/MetaProvides::Update",
"version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
"config" : {
"Dist::Zilla::Plugin::CopyFilesFromRelease" : {
"filename" : [
"Changes"
],
"match" : []
}
},
"name" : "@Author::OALDERS/@Git::VersionManager/CopyFilesFromRelease",
"version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"config" : {
"Dist::Zilla::Plugin::Git::Commit" : {
"add_files_in" : [],
"commit_msg" : "v%V%n%n%c",
"signoff" : 0
},
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
"Changes",
"Install",
"LICENSE",
"META.json",
"Makefile.PL",
"README.md",
"cpanfile",
"dist.ini"
],
"allow_dirty_match" : [],
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.33.0",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
"time_zone" : "local"
}
},
"name" : "@Author::OALDERS/@Git::VersionManager/release snapshot",
"version" : "2.048"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
"config" : {
"Dist::Zilla::Plugin::Git::Tag" : {
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
"tag" : "v2.22",
"tag_format" : "v%V",
"tag_message" : "v%V"
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.33.0",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
"time_zone" : "local"
}
},
"name" : "@Author::OALDERS/@Git::VersionManager/Git::Tag",
"version" : "2.048"
},
{
"class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional",
"config" : {
"Dist::Zilla::Plugin::BumpVersionAfterRelease" : {
"finders" : [
":ExecFiles",
":InstallModules"
],
"global" : 0,
"munge_makefile_pl" : 1
},
"Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : {}
},
"name" : "@Author::OALDERS/@Git::VersionManager/BumpVersionAfterRelease::Transitional",
"version" : "0.009"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@Author::OALDERS/@Git::VersionManager/NextRelease",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"config" : {
"Dist::Zilla::Plugin::Git::Commit" : {
"add_files_in" : [],
"commit_msg" : "increment $VERSION after %v release",
"signoff" : 0
},
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
"Build.PL",
"Changes",
"Makefile.PL"
],
"allow_dirty_match" : [
"(?^:^lib/.*\\.pm$)"
],
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.33.0",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
"time_zone" : "local"
}
},
"name" : "@Author::OALDERS/@Git::VersionManager/post-release commit",
"version" : "2.048"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
"config" : {
"Dist::Zilla::Plugin::Git::Push" : {
"push_to" : [
"origin"
],
"remotes_must_exist" : 1
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.33.0",
"repo_root" : "."
}
},
"name" : "@Author::OALDERS/Git::Push",
"version" : "2.048"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "test",
"type" : "requires"
}
},
"name" : "TestRequires",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::GitHubREADME::Badge",
"name" : "GitHubREADME::Badge",
"version" : "0.33"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExtraTestFiles",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":PerlExecFiles",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
"version" : "6.024"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
"version" : "6.024"
}
],
"zilla" : {
"class" : "Dist::Zilla::Dist::Builder",
"config" : {
"is_trial" : 0
},
"version" : "6.024"
}
},
"x_contributors" : [
"Chase Venters ",
"David Steinbrunner ",
"Jeremy Mates ",
"Kenichi Ishigaki ",
"Mark Stosberg ",
"Mark Stosberg ",
"Mark Stosberg ",
"Martin McGrath ",
"Olaf Alders ",
"Olaf Alders "
],
"x_generated_by_perl" : "v5.34.0",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.26",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later",
"x_static_install" : 1
}
HTML-FillInForm-2.22/README.md 000644 000765 000024 00000017576 14123725062 016762 0 ustar 00olafalders staff 000000 000000 # NAME
HTML::FillInForm - Populates HTML Forms with data.
# VERSION
version 2.22
# SYNOPSIS
Fill HTML form with data.
$output = HTML::FillInForm->fill( \$html, $q );
$output = HTML::FillInForm->fill( \@html, [$q1,$q2] );
$output = HTML::FillInForm->fill( \*HTML, \%data );
$output = HTML::FillInForm->fill( 't.html', [\%data1,%data2] );
The HTML can be provided as a scalarref, arrayref, filehandle or file. The data can come from one or more
hashrefs, or objects which support a param() method, like CGI.pm, [Apache::Request](https://metacpan.org/pod/Apache%3A%3ARequest), etc.
# DESCRIPTION
This module fills in an HTML form with data from a Perl data structure, allowing you
to keep the HTML and Perl separate.
Here are two common use cases:
1\. A user submits an HTML form without filling out a required field. You want
to redisplay the form with all the previous data in it, to make it easy for the
user to see and correct the error.
2\. You have just retrieved a record from a database and need to display it in
an HTML form.
# fill
The basic syntax is seen above the Synopsis. There are a few additional options.
## Options
### target => 'form1'
Suppose you have multiple forms in a html file and only want to fill in one.
$output = HTML::FillInForm->fill(\$html, $q, target => 'form1');
This will fill in only the form inside
### fill\_password => 0
Passwords are filled in by default. To disable:
fill_password => 0
### ignore\_fields => \[\]
To disable the filling of some fields:
ignore_fields => ['prev','next']
### disable\_fields => \[\]
To disable fields from being edited:
disable_fields => [ 'uid', 'gid' ]
### invalid\_fields => \[\]
To mark fields as being invalid (CSS class set to "invalid" or
whatever you set invalid\_class to):
invalid_fields => [ 'uid', 'gid' ]
### invalid\_class => "invalid"
The CSS class which will be used to mark fields invalid. Defaults to
"invalid".
### clear\_absent\_checkboxes => 0
Absent fields are not cleared or in any way changed. This is
not what you want when you deal with checkboxes which are not sent
by browser at all when cleared by user.
To remove "checked" attribute from checkboxes and radio buttons and
attribute "selected" from options of select lists for which there's no
data:
clear_absent_checkboxes => 1
## File Upload fields
File upload fields cannot be supported directly. Workarounds include asking the
user to re-attach any file uploads or fancy server-side storage and
referencing. You are on your own.
## Clearing Fields
Fields are cleared if you set their value to an empty string or empty arrayref but not undef:
# this will leave the form element foo untouched
HTML::FillInForm->fill(\$html, { foo => undef });
# this will set clear the form element foo
HTML::FillInForm->fill(\$html, { foo => "" });
It has been suggested to add a option to change the behavior so that undef
values will clear the form elements. Patches welcome.
You can also use `clear_absent_checkboxes` option to clear
checkboxes, radio buttons and selects without corresponding keys in
the data:
# this will set clear the form element foo (and all others except
# bar)
HTML::FillInForm->fill(\$html, { bar => 123 },
clear_absent_checkboxes => 1);
# Old syntax
You probably need to read no further. The remaining docs concern the
1.x era syntax, which is still supported.
## new
Call `new()` to create a new FillInForm object:
$fif = HTML::FillInForm->new;
$fif->fill(...);
In theory, there is a slight performance benefit to calling `new()` before `fill()` if you make multiple
calls to `fill()` before you destroy the object. Benchmark before optimizing.
## fill ( old syntax )
Instead of having your HTML and data types auto-detected, you can declare them explicitly in your
call to `fill()`:
HTML source options:
arrayref => @html
scalarref => $html
file => \*HTML
file => 't.html'
Fill Data options:
fobject => $data_obj # with param() method
fdat => \%data
Additional methods are also available:
fill_file(\*HTML,...);
fill_file('t.html',...);
fill_arrayref(\@html,...);
fill_scalarref(\$html,...);
# USING AN ALTERNATE PARSER
It's possible to use an alternate parser to [HTML::Parser](https://metacpan.org/pod/HTML%3A%3AParser) if the alternate
provides a sufficiently compatible interface. For example, when a Pure Perl
implementation of HTML::Parser appears, it could be used for portability. The syntax
is simply to provide a `parser_class` to new();
HTML::FillInForm->new( parser_class => 'MyAlternate::Parser' );
# CALLING FROM OTHER MODULES
## Apache::PageKit
To use HTML::FillInForm in [Apache::PageKit](https://metacpan.org/pod/Apache%3A%3APageKit) is easy. It is
automatically called for any page that includes a <form> tag.
It can be turned on or off by using the `fill_in_form` configuration
option.
## Apache::ASP v2.09 and above
HTML::FillInForm is now integrated with Apache::ASP. To activate, use
PerlSetVar FormFill 1
$Response->{FormFill} = 1
## HTML::Mason
Using HTML::FillInForm from HTML::Mason is covered in the FAQ on
the masonhq.com website at
[http://www.masonhq.com/?FAQ:HTTPAndHTML#h-how\_can\_i\_populate\_form\_values\_automatically\_](http://www.masonhq.com/?FAQ:HTTPAndHTML#h-how_can_i_populate_form_values_automatically_)
# SECURITY
Note that you might want to think about caching issues if you have password
fields on your page. There is a discussion of this issue at
http://www.perlmonks.org/index.pl?node\_id=70482
In summary, some browsers will cache the output of CGI scripts, and you
can control this by setting the Expires header. For example, use
`-expires` in [CGI.pm](https://metacpan.org/pod/CGI.pm) or set `browser_cache` to _no_ in
Config.xml file of [Apache::PageKit](https://metacpan.org/pod/Apache%3A%3APageKit).
# TRANSLATION
Kato Atsushi has translated these docs into Japanese, available from
http://perldoc.jp
# BUGS
Please submit any bug reports to tjmather@maxmind.com.
# NOTES
Requires Perl 5.005 and [HTML::Parser](https://metacpan.org/pod/HTML%3A%3AParser) version 3.26.
I wrote this module because I wanted to be able to insert CGI data
into HTML forms,
but without combining the HTML and Perl code. CGI.pm and Embperl allow you so
insert CGI data into forms, but require that you mix HTML with Perl.
There is a nice review of the module available here:
[http://www.perlmonks.org/index.pl?node\_id=274534](http://www.perlmonks.org/index.pl?node_id=274534)
# SEE ALSO
[HTML::Parser](https://metacpan.org/pod/HTML%3A%3AParser),
[Data::FormValidator](https://metacpan.org/pod/Data%3A%3AFormValidato),
[HTML::Template](https://metacpan.org/pod/HTML%3A%3ATemplate),
[Apache::PageKit](https://metacpan.org/pod/Apache%3A%3APageKit)
# CREDITS
Fixes, Bug Reports, Docs have been generously provided by:
Alex Kapranoff Miika Pekkarinen
Michael Fisher Sam Tregar
Tatsuhiko Miyagawa Joseph Yanni
Boris Zentner Philip Mak
Dave Rolsky Jost Krieger
Patrick Michael Kane Gabriel Burka
Ade Olonoh Bill Moseley
Tom Lancaster James Tolley
Martin H Sluka Dan Kubb
Mark Stosberg Alexander Hartmaier
Jonathan Swartz Paul Miller
Trevor Schellhorn Anthony Ettinger
Jim Miner Simon P. Ditner
Paul Lindner Michael Peters
Maurice Aubrey Trevor Schellhorn
Andrew Creer
Thanks!
# AUTHOR
TJ Mather, tjmather@maxmind.com
# COPYRIGHT AND LICENSE
This software is copyright (c) 2000 by TJ Mather, tjmather@maxmind.com.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
HTML-FillInForm-2.22/tidyall.ini 000644 000765 000024 00000001241 14123725062 017624 0 ustar 00olafalders staff 000000 000000 [PerlCritic]
select = **/*.{pl,pm,t,psgi}
ignore = .build/**/*
ignore = HTML-FillInForm-*/**/*
ignore = blib/**/*
ignore = t/00-*
ignore = t/author-*
ignore = t/release-*
ignore = t/zzz-*
ignore = xt/**/*
argv = --profile=$ROOT/perlcriticrc
[PerlTidy]
select = **/*.{pl,pm,t,psgi}
ignore = .build/**/*
ignore = HTML-FillInForm-*/**/*
ignore = blib/**/*
ignore = t/00-*
ignore = t/author-*
ignore = t/release-*
ignore = t/zzz-*
ignore = xt/**/*
argv = --profile=$ROOT/perltidyrc
[Test::Vars]
select = **/*.pm
ignore = .build/**/*
ignore = HTML-FillInForm-*/**/*
ignore = blib/**/*
ignore = t/00-*
ignore = t/author-*
ignore = t/release-*
ignore = t/zzz-*
ignore = xt/**/*
HTML-FillInForm-2.22/lib/ 000755 000765 000024 00000000000 14123725062 016231 5 ustar 00olafalders staff 000000 000000 HTML-FillInForm-2.22/Makefile.PL 000644 000765 000024 00000002575 14123725062 017446 0 ustar 00olafalders staff 000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.024.
use strict;
use warnings;
use 5.006;
use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "Populates HTML Forms with data.",
"AUTHOR" => "TJ Mather, tjmather\@maxmind.com",
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "HTML-FillInForm",
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.006",
"NAME" => "HTML::FillInForm",
"PREREQ_PM" => {
"Carp" => 0,
"integer" => 0,
"strict" => 0,
"vars" => 0
},
"TEST_REQUIRES" => {
"CGI" => 0,
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"HTML::TokeParser" => 0,
"Test" => 0,
"Test::More" => "0.96",
"warnings" => 0
},
"VERSION" => "2.22",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
"CGI" => 0,
"Carp" => 0,
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"HTML::TokeParser" => 0,
"Test" => 0,
"Test::More" => "0.96",
"integer" => 0,
"strict" => 0,
"vars" => 0,
"warnings" => 0
);
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
delete $WriteMakefileArgs{TEST_REQUIRES};
delete $WriteMakefileArgs{BUILD_REQUIRES};
$WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
WriteMakefile(%WriteMakefileArgs);
HTML-FillInForm-2.22/dist.ini 000644 000765 000024 00000001264 14123725062 017132 0 ustar 00olafalders staff 000000 000000 name = HTML-FillInForm
author = TJ Mather, tjmather@maxmind.com
copyright_holder = TJ Mather, tjmather@maxmind.com
copyright_year = 2000
main_module = lib/HTML/FillInForm.pm
license = Perl_5
[@Author::OALDERS]
-remove = PodCoverageTests
-remove = Test::CPAN::Changes
-remove = Test::EOL
-remove = Test::Perl::Critic
-remove = Test::Pod::Coverage::Configurable
-remove = Test::Synopsis
-remove = Test::TidyAll
StaticInstall.mode = on
StaticInstall.dry_run = 0
[Prereqs / TestRequires]
Test::More = 0.96
[GitHubREADME::Badge]
badges = github_actions/dzil-build-and-test
badges = coveralls
badges = codecov
badges = cpants
badges = github_tag
badges = license
place = top
phase = build
HTML-FillInForm-2.22/lib/HTML/ 000755 000765 000024 00000000000 14123725062 016775 5 ustar 00olafalders staff 000000 000000 HTML-FillInForm-2.22/lib/HTML/FillInForm.pm 000644 000765 000024 00000056530 14123725062 021345 0 ustar 00olafalders staff 000000 000000 package HTML::FillInForm;
our $VERSION = '2.22';
use integer; # no floating point math so far!
use strict; # and no funny business, either.
use Carp; # generate better errors with more context
# required for UNIVERSAL->can
require 5.005;
use vars qw($VERSION @ISA);
$VERSION = '2.21';
sub new {
my $class = shift;
my $self = bless {}, $class;
# required for attr_encoded
my %arg = @_ || ();
my $parser_class = $arg{parser_class} || 'HTML::Parser';
eval "require $parser_class;" || die "require $parser_class failed: $@";
@ISA = ($parser_class);
$self->init(@_);
unless ($self->can('attr_encoded')) {
die "attr_encoded method is missing. If are using HTML::Parser, you need at least version 3.26";
}
# tell HTML::Parser not to decode attributes
$self->attr_encoded(1);
return $self;
}
# a few shortcuts to fill()
sub fill_file { my $self = shift; return $self->fill('file' ,@_); }
sub fill_arrayref { my $self = shift; return $self->fill('arrayref' ,@_); }
sub fill_scalarref { my $self = shift; return $self->fill('scalarref',@_); }
# track the keys we support. Useful for file-name detection.
sub _known_keys {
return {
scalarref => 1,
arrayref => 1,
fdat => 1,
fobject => 1,
file => 1,
target => 1,
fill_password => 1,
ignore_fields => 1,
disable_fields => 1,
invalid_fields => 1,
invalid_class => 1,
}
}
sub fill {
my $self = shift;
# If we are called as a class method, go ahead and call new().
$self = $self->new if (not ref $self);
my %option;
# If the first arg is a scalarref, translate that to scalarref => $first_arg
if (ref $_[0] eq 'SCALAR') {
$option{scalarref} = shift;
}
elsif (ref $_[0] eq 'ARRAY') {
$option{arrayref} = shift;
}
elsif (ref $_[0] eq 'GLOB') {
$option{file} = shift;
}
elsif (ref $_[0]) {
croak "data source is not a reference type we understand";
}
# Last chance, if the first arg isn't one of the known keys, we
# assume it is a file name.
elsif (not _known_keys()->{$_[0]} ) {
$option{file} = shift;
}
else {
# Should be a known key. Nothing to do.
}
# Now, check to see if the next arg is also a reference.
my $data;
if (ref $_[0]) {
$data = shift;
$data = [$data] unless ref $data eq 'ARRAY';
for my $source (@$data) {
if (ref $source eq 'HASH') {
push @{ $option{fdat} }, $source;
}
elsif (ref $source) {
if ($source->can('param')) {
push @{ $option{fobject} }, $source;
}
else {
croak "data source $source does not supply a param method";
}
}
elsif (defined $source) {
croak "data source $source is not a hash or object reference";
}
}
}
# load in the rest of the options
%option = (%option, @_);
# As suggested in the docs, merge multiple fdats into one.
if (ref $option{fdat} eq 'ARRAY') {
my %merged;
for my $hash (@{ $option{fdat} }) {
for my $key (keys %$hash) {
$merged{$key} = $hash->{$key};
}
}
$option{'fdat'} = \%merged;
}
my %ignore_fields;
%ignore_fields = map { $_ => 1 } ( ref $option{'ignore_fields'} eq 'ARRAY' )
? @{ $option{ignore_fields} } : $option{ignore_fields} if exists( $option{ignore_fields} );
$self->{ignore_fields} = \%ignore_fields;
my %disable_fields;
%disable_fields = map { $_ => 1 } ( ref $option{'disable_fields'} eq 'ARRAY' )
? @{ $option{disable_fields} } : $option{disable_fields} if exists( $option{disable_fields} );
$self->{disable_fields} = \%disable_fields;
my %invalid_fields;
%invalid_fields = map { $_ => 1 } ( ref $option{'invalid_fields'} eq 'ARRAY' )
? @{ $option{invalid_fields} } : $option{invalid_fields} if exists( $option{invalid_fields} );
$self->{invalid_fields} = \%invalid_fields;
if (my $fdat = $option{fdat}){
# Copy the structure to prevent side-effects.
my %copy;
keys %$fdat; # reset fdat if each or Dumper was called on fdat
while(my($key, $val) = each %$fdat) {
next if exists $ignore_fields{$key};
$copy{ $key } = ref $val eq 'ARRAY' ? [ @$val ] : $val;
}
$self->{fdat} = \%copy;
}
# We want the reference to these objects to go out of scope at the
# end of the method.
local $self->{objects} = [];
if(my $objects = $option{fobject}){
unless(ref($objects) eq 'ARRAY'){
$objects = [ $objects ];
}
for my $object (@$objects){
# make sure objects in 'param_object' parameter support param()
defined($object->can('param')) or
croak("HTML::FillInForm->fill called with fobject option, containing object of type " . ref($object) . " which lacks a param() method!");
}
$self->{objects} = $objects;
}
if (my $target = $option{target}){
$self->{'target'} = $target;
}
if (my $invalid_class = $option{invalid_class}){
$self->{'invalid_class'} = $invalid_class;
} else {
$self->{'invalid_class'} = 'invalid';
}
if (defined($option{fill_password})){
$self->{fill_password} = $option{fill_password};
} else {
$self->{fill_password} = 1;
}
$self->{clear_absent_checkboxes} = $option{clear_absent_checkboxes};
# make sure method has data to fill in HTML form with!
unless(exists $self->{fdat} || $self->{objects}){
croak("HTML::FillInForm->fillInForm() called without 'fobject' or 'fdat' parameter set");
}
local $self->{object_param_cache};
if(my $file = $option{file}){
$self->parse_file($file);
} elsif (my $scalarref = $option{scalarref}){
$self->parse($$scalarref);
} elsif (my $arrayref = $option{arrayref}){
for (@$arrayref){
$self->parse($_);
}
}
$self->eof;
return delete $self->{output};
}
# handles opening HTML tags such as
sub start {
my ($self, $tagname, $attr, $attrseq, $origtext) = @_;
# set the current form
if ($tagname eq 'form') {
$self->{object_param_cache} = {};
if (exists $attr->{'name'} || exists $attr->{'id'}) {
$self->{'current_form'} = $attr->{'name'} || $attr->{'id'};
} else {
# in case of previous one without
delete $self->{'current_form'};
}
}
# This form is not my target.
if (exists $self->{'target'} &&
(! exists $self->{'current_form'} ||
$self->{'current_form'} ne $self->{'target'})) {
$self->{'output'} .= $origtext;
return;
}
# HTML::Parser converts tagname to lowercase, so we don't need /i
if ($self->{option_no_value}) {
$self->{output} .= '>';
delete $self->{option_no_value};
}
# Check if we need to disable this field
$attr->{disabled} = 'disabled'
if exists $attr->{'name'} and
exists $self->{disable_fields}{ $attr->{'name'} } and
$self->{disable_fields}{ $attr->{'name'} } and
not ( exists $attr->{disabled} and $attr->{disabled} );
# Check if we need to invalidate this field
my $invalidating = 0;
if (exists $attr->{name} and
exists $self->{invalid_fields}{ $attr->{name} } and
$self->{invalid_fields}{ $attr->{name} }) {
$invalidating = 1;
if (exists $attr->{class} and length $attr->{class}) {
# don't add the class if it's already there
unless ($attr->{class} =~ /\b\Q$self->{invalid_class}\E\b/) {
$attr->{class} .= " $self->{invalid_class}";
}
} else {
$attr->{class} = $self->{invalid_class};
}
}
if ($tagname eq 'input'){
my $value = exists $attr->{'name'} ? $self->_get_param($attr->{'name'}) : undef;
# force hidden fields to have a value
$value = '' if exists($attr->{'type'}) && $attr->{'type'} eq 'hidden' && ! exists $attr->{'value'} && ! defined $value;
# browsers do not pass unchecked checkboxes at all, so hack around
$value = '' if $self->{clear_absent_checkboxes} && !defined $value && exists($attr->{'type'}) && ($attr->{'type'} eq 'checkbox' || $attr->{'type'} eq 'radio');
if (defined($value)){
# check for input type, noting that default type is text
if (!exists $attr->{'type'} ||
$attr->{'type'} =~ /^(text|textfield|hidden|tel|search|url|email|datetime|date|month|week|time|datetime\-local|number|range|color|)$/i){
if ( ref($value) eq 'ARRAY' ) {
$value = shift @$value;
$value = '' unless defined $value;
}
$attr->{'value'} = __escapeHTML($value);
} elsif (lc $attr->{'type'} eq 'password' && $self->{fill_password}) {
if ( ref($value) eq 'ARRAY' ) {
$value = shift @$value;
$value = '' unless defined $value;
}
$attr->{'value'} = __escapeHTML($value);
} elsif (lc $attr->{'type'} eq 'radio'){
if ( ref($value) eq 'ARRAY' ) {
$value = $value->[0];
$value = '' unless defined $value;
}
# value for radio boxes default to 'on', works with netscape
$attr->{'value'} = 'on' unless exists $attr->{'value'};
if ($attr->{'value'} eq __escapeHTML($value)){
$attr->{'checked'} = 'checked';
} else {
delete $attr->{'checked'};
}
} elsif (lc $attr->{'type'} eq 'checkbox'){
# value for checkboxes default to 'on', works with netscape
$attr->{'value'} = 'on' unless exists $attr->{'value'};
delete $attr->{'checked'}; # Everything is unchecked to start
$value = [ $value ] unless ref($value) eq 'ARRAY';
foreach my $v ( @$value ) {
if ( $attr->{'value'} eq __escapeHTML($v) ) {
$attr->{'checked'} = 'checked';
}
}
# } else {
# warn(qq(Input field of unknown type "$attr->{type}": $origtext));
}
}
$self->{output} .= "<$tagname";
while (my ($key, $value) = each %$attr) {
next if $key eq '/';
$self->{output} .= sprintf qq( %s="%s"), $key, $value;
}
# extra space put here to work around Opera 6.01/6.02 bug
$self->{output} .= ' /' if $attr->{'/'};
$self->{output} .= ">";
} elsif ($tagname eq 'option'){
my $value = defined($self->{selectName}) ? $self->_get_param($self->{selectName}) : undef;
# browsers do not pass selects with no selected options at all,
# so hack around
$value = '' if $self->{clear_absent_checkboxes} && !defined $value;
$value = [ $value ] unless ( ref($value) eq 'ARRAY' );
if ( defined $value->[0] ){
delete $attr->{selected} if exists $attr->{selected};
if(defined($attr->{'value'})){
# option tag has value attr - bar
if ($self->{selectMultiple}){
# check if the option tag belongs to a multiple option select
foreach my $v ( grep { defined } @$value ) {
if ( $attr->{'value'} eq __escapeHTML($v) ){
$attr->{selected} = 'selected';
}
}
} else {
# if not every value of a fdat ARRAY belongs to a different select tag
if (not $self->{selectSelected}){
if ( $attr->{'value'} eq __escapeHTML($value->[0])){
shift @$value if ref($value) eq 'ARRAY';
$attr->{selected} = 'selected';
$self->{selectSelected} = 1; # remember that an option tag is selected for this select tag
}
}
}
} else {
# option tag has no value attr - bar
# save for processing under text handler
$self->{option_no_value} = __escapeHTML($value);
}
}
$self->{output} .= "<$tagname";
while (my ($key, $value) = each %$attr) {
$self->{output} .= sprintf qq( %s="%s"), $key, $value;
}
unless ($self->{option_no_value}){
# we can close option tag here
$self->{output} .= ">";
}
} elsif ($tagname eq 'textarea'){
# need to re-output the