Hello community, here is the log from the commit of package perl-WWW-Mechanize for openSUSE:Factory checked in at 2020-02-26 15:01:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-WWW-Mechanize (Old) and /work/SRC/openSUSE:Factory/.perl-WWW-Mechanize.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-WWW-Mechanize" Wed Feb 26 15:01:15 2020 rev:29 rq:778784 version:1.96 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-WWW-Mechanize/perl-WWW-Mechanize.changes 2019-11-06 15:15:34.349141900 +0100 +++ /work/SRC/openSUSE:Factory/.perl-WWW-Mechanize.new.26092/perl-WWW-Mechanize.changes 2020-02-26 15:01:19.200745081 +0100 @@ -1,0 +2,14 @@ +Sat Feb 22 03:12:26 UTC 2020 - <[email protected]> + +- updated to 1.96 + see /usr/share/doc/packages/perl-WWW-Mechanize/Changes + + 1.96 2020-02-21 02:23:40Z [FIXED] + - HTML::Form::find_input() has a 1-based index (GH#293) (Olaf Alders) + - Fix invocation of dump_forms in mech-dump (GH#288) (積丹尼 Dan Jacobson) + - make xt/author/eol.t pass (GH#291) (Shoichi Kaji) + [DOCUMENTATION] + - Fix documentation of use of undef in form_with() and all_forms_with() + (GH#289) (積丹尼 Dan Jacobson) + +------------------------------------------------------------------- Old: ---- WWW-Mechanize-1.95.tar.gz New: ---- WWW-Mechanize-1.96.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-WWW-Mechanize.spec ++++++ --- /var/tmp/diff_new_pack.UV8tqm/_old 2020-02-26 15:01:19.712746102 +0100 +++ /var/tmp/diff_new_pack.UV8tqm/_new 2020-02-26 15:01:19.716746110 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-WWW-Mechanize # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: perl-WWW-Mechanize -Version: 1.95 +Version: 1.96 Release: 0 %define cpan_name WWW-Mechanize Summary: Handy web browsing in a Perl object @@ -87,7 +87,7 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f ! -path "*/t/*" ! -name "*.pl" ! -name "*.sh" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build perl Makefile.PL INSTALLDIRS=vendor ++++++ WWW-Mechanize-1.95.tar.gz -> WWW-Mechanize-1.96.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/CONTRIBUTORS new/WWW-Mechanize-1.96/CONTRIBUTORS --- old/WWW-Mechanize-1.95/CONTRIBUTORS 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/CONTRIBUTORS 2020-02-21 03:23:49.000000000 +0100 @@ -52,5 +52,6 @@ * Varadinsky * Ville Skyttä * Zefram + * 積丹尼 Dan Jacobson diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/Changes new/WWW-Mechanize-1.96/Changes --- old/WWW-Mechanize-1.95/Changes 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/Changes 2020-02-21 03:23:49.000000000 +0100 @@ -1,8 +1,16 @@ Revision history for WWW::Mechanize +1.96 2020-02-21 02:23:40Z [FIXED] + - HTML::Form::find_input() has a 1-based index (GH#293) (Olaf Alders) + - Fix invocation of dump_forms in mech-dump (GH#288) (積丹尼 Dan Jacobson) + - make xt/author/eol.t pass (GH#291) (Shoichi Kaji) + [DOCUMENTATION] + - Fix documentation of use of undef in form_with() and all_forms_with() + (GH#289) (積丹尼 Dan Jacobson) + 1.95 2019-10-28 13:07:45Z [FIXED] - - die if submit_form() called with invalid form_id (GH#287) (Olaf Alders) + - die if submit_form() called with invalid form_id (GH#287) (Olaf Alders) 1.94 2019-10-10 13:12:28Z [FIXED] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/MANIFEST new/WWW-Mechanize-1.96/MANIFEST --- old/WWW-Mechanize-1.95/MANIFEST 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/MANIFEST 2020-02-21 03:23:49.000000000 +0100 @@ -108,8 +108,12 @@ t/warnings.t tags tidyall.ini +xt/author/eol.t xt/author/live/encoding.t xt/author/live/wikipedia.t +xt/author/mojibake.t xt/author/pod-coverage.t xt/author/pod-syntax.t +xt/author/portability.t +xt/author/test-version.t xt/author/tidyall.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/META.json new/WWW-Mechanize-1.96/META.json --- old/WWW-Mechanize-1.95/META.json 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/META.json 2020-02-21 03:23:49.000000000 +0100 @@ -44,13 +44,17 @@ "Perl::Tidy" : "20180220", "Pod::Coverage::TrustPod" : "0", "Test::Code::TidyAll" : "0.50", + "Test::EOL" : "0", "Test::Memory::Cycle" : "1.06", + "Test::Mojibake" : "0", "Test::More" : "0.88", "Test::Needs" : "0", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08", + "Test::Portability::Files" : "0", "Test::RequiresInternet" : "0", "Test::Vars" : "0.014", + "Test::Version" : "1", "constant" : "0", "lib" : "0" } @@ -110,15 +114,15 @@ "provides" : { "WWW::Mechanize" : { "file" : "lib/WWW/Mechanize.pm", - "version" : "1.95" + "version" : "1.96" }, "WWW::Mechanize::Image" : { "file" : "lib/WWW/Mechanize/Image.pm", - "version" : "1.95" + "version" : "1.96" }, "WWW::Mechanize::Link" : { "file" : "lib/WWW/Mechanize/Link.pm", - "version" : "1.95" + "version" : "1.96" } }, "release_status" : "stable", @@ -133,10 +137,10 @@ "web" : "https://github.com/libwww-perl/WWW-Mechanize" } }, - "version" : "1.95", + "version" : "1.96", "x_Dist_Zilla" : { "perl" : { - "version" : "5.030000" + "version" : "5.026001" }, "plugins" : [ { @@ -172,9 +176,9 @@ "version" : "0.055" }, { - "class" : "Dist::Zilla::Plugin::MAXMIND::TidyAll", - "name" : "@Author::OALDERS/MAXMIND::TidyAll", - "version" : "0.13" + "class" : "Dist::Zilla::Plugin::OALDERS::TidyAll", + "name" : "@Author::OALDERS/OALDERS::TidyAll", + "version" : "0.000026" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", @@ -264,6 +268,11 @@ "version" : "6.012" }, { + "class" : "Dist::Zilla::Plugin::MojibakeTests", + "name" : "@Author::OALDERS/MojibakeTests", + "version" : "0.8" + }, + { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "@Author::OALDERS/PodCoverageTests", "version" : "6.012" @@ -274,6 +283,32 @@ "version" : "6.012" }, { + "class" : "Dist::Zilla::Plugin::Test::EOL", + "config" : { + "Dist::Zilla::Plugin::Test::EOL" : { + "filename" : "xt/author/eol.t", + "finder" : [ + ":ExecFiles", + ":InstallModules", + ":TestFiles" + ], + "trailing_whitespace" : 1 + } + }, + "name" : "@Author::OALDERS/Test::EOL", + "version" : "0.19" + }, + { + "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.012" @@ -289,6 +324,11 @@ "version" : "0.04" }, { + "class" : "Dist::Zilla::Plugin::Test::Version", + "name" : "@Author::OALDERS/Test::Version", + "version" : "1.09" + }, + { "class" : "Dist::Zilla::Plugin::RunExtraTests", "config" : { "Dist::Zilla::Role::TestRunner" : { @@ -468,7 +508,7 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.23.0", + "git_version" : "2.25.0", "repo_root" : "." } }, @@ -479,7 +519,7 @@ "class" : "Dist::Zilla::Plugin::Git::Contributors", "config" : { "Dist::Zilla::Plugin::Git::Contributors" : { - "git_version" : "2.23.0", + "git_version" : "2.25.0", "include_authors" : 0, "include_releaser" : 1, "order_by" : "name", @@ -603,7 +643,7 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.23.0", + "git_version" : "2.25.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { @@ -620,12 +660,12 @@ "branch" : null, "changelog" : "Changes", "signed" : 0, - "tag" : "v1.95", + "tag" : "v1.96", "tag_format" : "v%V", "tag_message" : "v%V" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.23.0", + "git_version" : "2.25.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { @@ -675,7 +715,7 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.23.0", + "git_version" : "2.25.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { @@ -695,7 +735,7 @@ "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.23.0", + "git_version" : "2.25.0", "repo_root" : "." } }, @@ -887,10 +927,11 @@ "sunnavy <[email protected]>", "Varadinsky <[email protected]>", "Ville Skytt\u00e4 <[email protected]>", - "Zefram <[email protected]>" + "Zefram <[email protected]>", + "\u7a4d\u4e39\u5c3c Dan Jacobson <[email protected]>" ], - "x_generated_by_perl" : "v5.30.0", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.14", + "x_generated_by_perl" : "v5.26.1", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.10", "x_static_install" : 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/META.yml new/WWW-Mechanize-1.96/META.yml --- old/WWW-Mechanize-1.95/META.yml 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/META.yml 2020-02-21 03:23:49.000000000 +0100 @@ -41,13 +41,13 @@ provides: WWW::Mechanize: file: lib/WWW/Mechanize.pm - version: '1.95' + version: '1.96' WWW::Mechanize::Image: file: lib/WWW/Mechanize/Image.pm - version: '1.95' + version: '1.96' WWW::Mechanize::Link: file: lib/WWW/Mechanize/Link.pm - version: '1.95' + version: '1.96' requires: Carp: '0' Getopt::Long: '0' @@ -72,10 +72,10 @@ bugtracker: https://github.com/libwww-perl/WWW-Mechanize/issues homepage: https://github.com/libwww-perl/WWW-Mechanize repository: https://github.com/libwww-perl/WWW-Mechanize.git -version: '1.95' +version: '1.96' x_Dist_Zilla: perl: - version: '5.030000' + version: '5.026001' plugins: - class: Dist::Zilla::Plugin::PromptIfStale @@ -103,9 +103,9 @@ name: '@Author::OALDERS/stale modules, release' version: '0.055' - - class: Dist::Zilla::Plugin::MAXMIND::TidyAll - name: '@Author::OALDERS/MAXMIND::TidyAll' - version: '0.13' + class: Dist::Zilla::Plugin::OALDERS::TidyAll + name: '@Author::OALDERS/OALDERS::TidyAll' + version: '0.000026' - class: Dist::Zilla::Plugin::AutoPrereqs name: '@Author::OALDERS/AutoPrereqs' @@ -174,6 +174,10 @@ name: '@Author::OALDERS/ExecDir' version: '6.012' - + class: Dist::Zilla::Plugin::MojibakeTests + name: '@Author::OALDERS/MojibakeTests' + version: '0.8' + - class: Dist::Zilla::Plugin::PodCoverageTests name: '@Author::OALDERS/PodCoverageTests' version: '6.012' @@ -182,6 +186,25 @@ name: '@Author::OALDERS/PodSyntaxTests' version: '6.012' - + class: Dist::Zilla::Plugin::Test::EOL + config: + Dist::Zilla::Plugin::Test::EOL: + filename: xt/author/eol.t + finder: + - ':ExecFiles' + - ':InstallModules' + - ':TestFiles' + trailing_whitespace: 1 + name: '@Author::OALDERS/Test::EOL' + version: '0.19' + - + 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.012' @@ -194,6 +217,10 @@ name: '@Author::OALDERS/Test::TidyAll' version: '0.04' - + class: Dist::Zilla::Plugin::Test::Version + name: '@Author::OALDERS/Test::Version' + version: '1.09' + - class: Dist::Zilla::Plugin::RunExtraTests config: Dist::Zilla::Role::TestRunner: @@ -334,7 +361,7 @@ allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: - git_version: 2.23.0 + git_version: 2.25.0 repo_root: . name: '@Author::OALDERS/Git::Check' version: '2.046' @@ -342,7 +369,7 @@ class: Dist::Zilla::Plugin::Git::Contributors config: Dist::Zilla::Plugin::Git::Contributors: - git_version: 2.23.0 + git_version: 2.25.0 include_authors: 0 include_releaser: 1 order_by: name @@ -437,7 +464,7 @@ allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: - git_version: 2.23.0 + git_version: 2.25.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local @@ -450,11 +477,11 @@ branch: ~ changelog: Changes signed: 0 - tag: v1.95 + tag: v1.96 tag_format: v%V tag_message: v%V Dist::Zilla::Role::Git::Repo: - git_version: 2.23.0 + git_version: 2.25.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local @@ -491,7 +518,7 @@ - (?^:^lib/.*\.pm$) changelog: Changes Dist::Zilla::Role::Git::Repo: - git_version: 2.23.0 + git_version: 2.25.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local @@ -505,7 +532,7 @@ - origin remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: - git_version: 2.23.0 + git_version: 2.25.0 repo_root: . name: '@Author::OALDERS/Git::Push' version: '2.046' @@ -660,6 +687,7 @@ - 'Varadinsky <[email protected]>' - 'Ville Skyttä <[email protected]>' - 'Zefram <[email protected]>' -x_generated_by_perl: v5.30.0 + - '積丹尼 Dan Jacobson <[email protected]>' +x_generated_by_perl: v5.26.1 x_serialization_backend: 'YAML::Tiny version 1.73' x_static_install: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/Makefile.PL new/WWW-Mechanize-1.96/Makefile.PL --- old/WWW-Mechanize-1.95/Makefile.PL 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/Makefile.PL 2020-02-21 03:23:49.000000000 +0100 @@ -62,7 +62,7 @@ "lib" => 0, "vars" => 0 }, - "VERSION" => "1.95", + "VERSION" => "1.96", "test" => { "TESTS" => "t/*.t t/local/*.t t/mech-dump/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/README.md new/WWW-Mechanize-1.96/README.md --- old/WWW-Mechanize-1.95/README.md 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/README.md 2020-02-21 03:23:49.000000000 +0100 @@ -4,7 +4,7 @@ # VERSION -version 1.95 +version 1.96 # SYNOPSIS @@ -71,7 +71,7 @@ - HTTP authentication Mech is well suited for use in testing web applications. If you use -one of the Test::\*, like [Test::HTML::Lint](https://metacpan.org/pod/Test%3A%3AHTML%3A%3ALint) modules, you can check the +one of the Test::\*, like [Test::HTML::Lint](https://metacpan.org/pod/Test::HTML::Lint) modules, you can check the fetched content and use that as input to a test call. use Test::More; @@ -94,13 +94,13 @@ $mech->set_visible( @criteria ); $mech->click( $button ); -[WWW::Mechanize](https://metacpan.org/pod/WWW%3A%3AMechanize) is a proper subclass of [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent) and -you can also use any of [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent)'s methods. +[WWW::Mechanize](https://metacpan.org/pod/WWW::Mechanize) is a proper subclass of [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent) and +you can also use any of [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent)'s methods. $mech->add_header($name => $value); Please note that Mech does NOT support JavaScript, you need additional software -for that. Please check ["JavaScript" in WWW::Mechanize::FAQ](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AFAQ#JavaScript) for more. +for that. Please check ["JavaScript" in WWW::Mechanize::FAQ](https://metacpan.org/pod/WWW::Mechanize::FAQ#JavaScript) for more. # IMPORTANT LINKS @@ -143,7 +143,7 @@ my $mech = WWW::Mechanize->new( cookie_jar => undef ); Here are the parms that WWW::Mechanize recognizes. These do not include -parms that [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent) recognizes. +parms that [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent) recognizes. - `autocheck => [0|1]` @@ -152,19 +152,19 @@ are errors, not warnings. The default value is ON, unless it's being subclassed, in which - case it is OFF. This means that standalone [WWW::Mechanize](https://metacpan.org/pod/WWW%3A%3AMechanize) instances + case it is OFF. This means that standalone [WWW::Mechanize](https://metacpan.org/pod/WWW::Mechanize) instances have autocheck turned on, which is protective for the vast majority of Mech users who don't bother checking the return value of get() and post() and can't figure why their code fails. However, if - [WWW::Mechanize](https://metacpan.org/pod/WWW%3A%3AMechanize) is subclassed, such as for [Test::WWW::Mechanize](https://metacpan.org/pod/Test%3A%3AWWW%3A%3AMechanize) - or [Test::WWW::Mechanize::Catalyst](https://metacpan.org/pod/Test%3A%3AWWW%3A%3AMechanize%3A%3ACatalyst), this may not be an appropriate + [WWW::Mechanize](https://metacpan.org/pod/WWW::Mechanize) is subclassed, such as for [Test::WWW::Mechanize](https://metacpan.org/pod/Test::WWW::Mechanize) + or [Test::WWW::Mechanize::Catalyst](https://metacpan.org/pod/Test::WWW::Mechanize::Catalyst), this may not be an appropriate default, so it's off. - `noproxy => [0|1]` - Turn off the automatic call to the [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent) `env_proxy` function. + Turn off the automatic call to the [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent) `env_proxy` function. - This needs to be explicitly turned off if you're using [Crypt::SSLeay](https://metacpan.org/pod/Crypt%3A%3ASSLeay) to + This needs to be explicitly turned off if you're using [Crypt::SSLeay](https://metacpan.org/pod/Crypt::SSLeay) to access a https site via a proxy server. Note: you still need to set your HTTPS\_PROXY environment variable as appropriate. @@ -203,7 +203,7 @@ history. In addition, WWW::Mechanize also allows you to globally enable -strict and verbose mode for form handling, which is done with [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm). +strict and verbose mode for form handling, which is done with [HTML::Form](https://metacpan.org/pod/HTML::Form). - `strict_forms => [0|1]` @@ -224,7 +224,7 @@ To support forms, WWW::Mechanize's constructor pushes POST on to the agent's `requests_redirectable` list (see also -[LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent).) +[LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent).) ## $mech->agent\_alias( $alias ) @@ -263,16 +263,16 @@ ## $mech->get( $uri ) -Given a URL/URI, fetches it. Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +Given a URL/URI, fetches it. Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. _$uri_ can be a well-formed URL string, a [URI](https://metacpan.org/pod/URI) object, or a -[WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object. +[WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object. The results are stored internally in the agent object, but you don't know that. Just use the accessors listed below. Poking at the internals is deprecated and subject to change in the future. `get()` is a well-behaved overloaded version of the method in -[LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). This lets you do things like +[LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). This lets you do things like $mech->get( $uri, ':content_file' => $tempfile ); @@ -285,22 +285,22 @@ ## $mech->post( $uri, content => $content ) -POSTs _$content_ to $uri. Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +POSTs _$content_ to $uri. Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. _$uri_ can be a well-formed URI string, a [URI](https://metacpan.org/pod/URI) object, or a -[WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object. +[WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object. ## $mech->put( $uri, content => $content ) -PUTs _$content_ to $uri. Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +PUTs _$content_ to $uri. Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. _$uri_ can be a well-formed URI string, a [URI](https://metacpan.org/pod/URI) object, or a -[WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object. +[WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object. ## $mech->reload() Acts like the reload button in a browser: repeats the current request. The history (as per the [back()](#mech-back) method) is not altered. -Returns the [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object from the reload, or `undef` +Returns the [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object from the reload, or `undef` if there's no current request. ## $mech->back() @@ -351,7 +351,7 @@ ## $mech->response() / $mech->res() -Return the current response as an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +Return the current response as an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. Synonym for `$mech->response()` @@ -372,18 +372,18 @@ When called in a list context, returns a list of the forms found in the last fetched page. In a scalar context, returns a reference to -an array with those forms. The forms returned are all [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) +an array with those forms. The forms returned are all [HTML::Form](https://metacpan.org/pod/HTML::Form) objects. ## $mech->current\_form() -Returns the current form as an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) object. +Returns the current form as an [HTML::Form](https://metacpan.org/pod/HTML::Form) object. ## $mech->links() When called in a list context, returns a list of the links found in the last fetched page. In a scalar context it returns a reference to an array -with those links. Each link is a [WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object. +with those links. Each link is a [WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object. ## $mech->is\_html() @@ -393,7 +393,7 @@ ## $mech->title() Returns the contents of the `<TITLE>` tag, as parsed by -[HTML::HeadParser](https://metacpan.org/pod/HTML%3A%3AHeadParser). Returns undef if the content is not HTML. +[HTML::HeadParser](https://metacpan.org/pod/HTML::HeadParser). Returns undef if the content is not HTML. # CONTENT-HANDLING METHODS @@ -419,7 +419,7 @@ Returns the HTML document, modified to contain a `<base href="$base_href">` mark-up in the header. _$base\_href_ is `$mech->base()` if not specified. This is - handy to pass the HTML to e.g. [HTML::Display](https://metacpan.org/pod/HTML%3A%3ADisplay). This works only if + handy to pass the HTML to e.g. [HTML::Display](https://metacpan.org/pod/HTML::Display). This works only if the contents are HTML. - _$mech->content( raw => 1 )_ @@ -435,7 +435,7 @@ - _$mech->content( charset => $charset )_ Returns `$self->response()->decoded_content(charset => $charset)` - (see [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) for details). + (see [HTTP::Response](https://metacpan.org/pod/HTTP::Response) for details). To preserve backwards compatibility, additional parameters will be ignored unless none of `raw | decoded_by_headers | charset` is @@ -489,7 +489,7 @@ $mech->follow_link( url => 'http://example.com/page' ); -Returns the result of the `GET` method (an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object) if a link +Returns the result of the `GET` method (an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object) if a link was found. If the page has no links, or the specified link couldn't be found, returns @@ -498,7 +498,7 @@ ## $mech->find\_link( ... ) Finds a link in the currently fetched page. It returns a -[WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object which describes the link. (You'll +[WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object which describes the link. (You'll probably be most interested in the `url()` property.) If it fails to find a link it returns undef. @@ -575,7 +575,7 @@ $mech->find_link( text => 'News', url_regex => qr/cnn\.com/ ); The return value is a reference to an array containing a -[WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object for every link in `$self->content`. +[WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object for every link in `$self->content`. The links come from the following: @@ -591,7 +591,7 @@ Returns all the links on the current page that match the criteria. The method for specifying link criteria is the same as in `[find_link()](#mech-find_link)`. -Each of the links returned is a [WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) object. +Each of the links returned is a [WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) object. In list context, `find_all_links()` returns a list of the links. Otherwise, it returns a reference to the list of links. @@ -604,7 +604,7 @@ find\_all\_inputs() returns an array of all the input controls in the current form whose properties match all of the regexes passed in. The controls returned are all descended from HTML::Form::Input. -See ["INPUTS" in HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm#INPUTS) for details. +See ["INPUTS" in HTML::Form](https://metacpan.org/pod/HTML::Form#INPUTS) for details. If no criteria are passed, all inputs will be returned. @@ -643,7 +643,7 @@ ## $mech->find\_image() Finds an image in the current page. It returns a -[WWW::Mechanize::Image](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AImage) object which describes the image. If it fails +[WWW::Mechanize::Image](https://metacpan.org/pod/WWW::Mechanize::Image) object which describes the image. If it fails to find an image it returns undef. You can select which image to find by passing in one or more of these @@ -734,14 +734,14 @@ $mech->find_image( image => 'News', url_regex => qr/cnn\.com/ ); The return value is a reference to an array containing a -[WWW::Mechanize::Image](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AImage) object for every image in `$self->content`. +[WWW::Mechanize::Image](https://metacpan.org/pod/WWW::Mechanize::Image) object for every image in `$self->content`. ## $mech->find\_all\_images( ... ) Returns all the images on the current page that match the criteria. The method for specifying image criteria is the same as in `[find_image()](#mech-find_image)`. -Each of the images returned is a [WWW::Mechanize::Image](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AImage) object. +Each of the images returned is a [WWW::Mechanize::Image](https://metacpan.org/pod/WWW::Mechanize::Image) object. In list context, `find_all_images()` returns a list of the images. Otherwise, it returns a reference to the list of images. @@ -756,7 +756,7 @@ ## $mech->forms -Lists all the forms on the current page. Each form is an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) +Lists all the forms on the current page. Each form is an [HTML::Form](https://metacpan.org/pod/HTML::Form) object. In list context, returns a list of all forms. In scalar context, returns an array reference of all forms. @@ -767,7 +767,7 @@ and `[click()](#mech-click-button-x-y)`. Also returns the form that was selected. -If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) object and set internally +If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML::Form) object and set internally for later use with Mech's form methods such as `[field()](#mech-field-name-value-number)` and `[click()](#mech-click-button-x-y)`. @@ -784,7 +784,7 @@ with that name, then the first one is used, and a warning is generated. -If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) object and +If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML::Form) object and set internally for later use with Mech's form methods such as `[field()](#mech-field-name-value-number)` and `[click()](#mech-click-button-x-y)`. @@ -796,7 +796,7 @@ Selects a form by ID. If there is more than one form on the page with that ID, then the first one is used, and a warning is generated. -If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) object and +If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML::Form) object and set internally for later use with Mech's form methods such as `[field()](#mech-field-name-value-number)` and `[click()](#mech-click-button-x-y)`. @@ -806,7 +806,7 @@ ## $mech->all\_forms\_with\_fields( @fields ) -Selects a form by passing in a list of field names it must contain. All matching forms (perhaps none) are returned as a list of [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) objects. +Selects a form by passing in a list of field names it must contain. All matching forms (perhaps none) are returned as a list of [HTML::Form](https://metacpan.org/pod/HTML::Form) objects. ## $mech->form\_with\_fields( @fields ) @@ -814,7 +814,7 @@ is more than one form on the page with that matches, then the first one is used, and a warning is generated. -If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) object and set internally +If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML::Form) object and set internally for later used with Mech's form methods such as `[field()](#mech-field-name-value-number)` and `[click()](#mech-click-button-x-y)`. @@ -828,22 +828,22 @@ Searches for forms with arbitrary attribute/value pairs within the <form> tag. (Currently does not work for attribute `action` due to implementation details -of [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm).) +of [HTML::Form](https://metacpan.org/pod/HTML::Form).) When given more than one pair, all criteria must match. -Using `undef` as value means that the attribute in question may not be present. +Using `undef` as value means that the attribute in question must not be present. -All matching forms (perhaps none) are returned as a list of [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) objects. +All matching forms (perhaps none) are returned as a list of [HTML::Form](https://metacpan.org/pod/HTML::Form) objects. ## $mech->form\_with( $attr1 => $value1, $attr2 => $value2, ... ) Searches for forms with arbitrary attribute/value pairs within the <form> tag. (Currently does not work for attribute `action` due to implementation details -of [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm).) +of [HTML::Form](https://metacpan.org/pod/HTML::Form).) When given more than one pair, all criteria must match. -Using `undef` as value means that the attribute in question may not be present. +Using `undef` as value means that the attribute in question must not be present. -If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML%3A%3AForm) object and set internally +If it is found, the form is returned as an [HTML::Form](https://metacpan.org/pod/HTML::Form) object and set internally for later used with Mech's form methods such as `[field()](#mech-field-name-value-number)` and `[click()](#mech-click-button-x-y)`. @@ -974,7 +974,7 @@ If there is only one button on the form, `$mech->click()` with no arguments simply clicks that one button. -Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. ## $mech->click\_button( ... ) @@ -1002,7 +1002,7 @@ - `input => $inputobject` Clicks on the button referenced by $inputobject, an instance of - [HTML::Form::SubmitInput](https://metacpan.org/pod/HTML%3A%3AForm%3A%3ASubmitInput) obtained e.g. from + [HTML::Form::SubmitInput](https://metacpan.org/pod/HTML::Form::SubmitInput) obtained e.g. from $mech->current_form()->find_input( undef, 'submit' ) @@ -1019,7 +1019,7 @@ Submits the current form, without specifying a button to click. Actually, no button is clicked at all. -Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. This used to be a synonym for `$mech->click( 'submit' )`, but is no longer so. @@ -1094,7 +1094,7 @@ $mech->submit_form(with_fields => { logfile => [ [ undef, 'whatever', Content => $content ], 1 ] } ); -Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. # MISCELLANEOUS METHODS @@ -1249,7 +1249,7 @@ ## $mech->redirect\_ok() -An overloaded version of `redirect_ok()` in [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +An overloaded version of `redirect_ok()` in [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). This method is used to determine whether a redirection in the request should be followed. @@ -1258,13 +1258,13 @@ ## $mech->request( $request \[, $arg \[, $size\]\]) -Overloaded version of `request()` in [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). Performs +Overloaded version of `request()` in [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). Performs the actual request. Normally, if you're using WWW::Mechanize, it's because you don't want to deal with this level of stuff anyway. Note that `$request` will be modified. -Returns an [HTTP::Response](https://metacpan.org/pod/HTTP%3A%3AResponse) object. +Returns an [HTTP::Response](https://metacpan.org/pod/HTTP::Response) object. ## $mech->update\_html( $html ) @@ -1306,7 +1306,7 @@ Provide credentials to be used for HTTP Basic authentication for all sites and realms until further notice. -The four argument form described in [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent) is still +The four argument form described in [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent) is still supported. ## $mech->get\_basic\_credentials( $realm, $uri, $isproxy ) @@ -1319,37 +1319,37 @@ # INHERITED UNCHANGED LWP::UserAgent METHODS -As a subclass of [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent), WWW::Mechanize inherits all of -[LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent)'s methods. Many of which are overridden or +As a subclass of [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent), WWW::Mechanize inherits all of +[LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent)'s methods. Many of which are overridden or extended. The following methods are inherited unchanged. View the -[LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent) documentation for their implementation descriptions. +[LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent) documentation for their implementation descriptions. This is not meant to be an inclusive list. LWP::UA may have added others. ## $mech->head() -Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). ## $mech->mirror() -Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). ## $mech->simple\_request() -Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). ## $mech->is\_protocol\_supported() -Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). ## $mech->prepare\_request() -Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). ## $mech->progress() -Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). +Inherited from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). # INTERNAL-ONLY METHODS @@ -1366,16 +1366,16 @@ ## $mech->\_modify\_request( $req ) -Modifies a [HTTP::Request](https://metacpan.org/pod/HTTP%3A%3ARequest) before the request is sent out, +Modifies a [HTTP::Request](https://metacpan.org/pod/HTTP::Request) before the request is sent out, for both GET and POST requests. We add a `Referer` header, as well as header to note that we can accept gzip -encoded content, if [Compress::Zlib](https://metacpan.org/pod/Compress%3A%3AZlib) is installed. +encoded content, if [Compress::Zlib](https://metacpan.org/pod/Compress::Zlib) is installed. ## $mech->\_make\_request() Convenience method to make it easier for subclasses like -[WWW::Mechanize::Cached](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ACached) to intercept the request. +[WWW::Mechanize::Cached](https://metacpan.org/pod/WWW::Mechanize::Cached) to intercept the request. ## $mech->\_reset\_page() @@ -1384,7 +1384,7 @@ ## $mech->\_extract\_links() Extracts links from the content of a webpage, and populates the `{links}` -property with [WWW::Mechanize::Link](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ALink) objects. +property with [WWW::Mechanize::Link](https://metacpan.org/pod/WWW::Mechanize::Link) objects. ## $mech->\_push\_page\_stack() @@ -1423,10 +1423,10 @@ - cookie\_jar - You are encouraged to install [Mozilla::PublicSuffix](https://metacpan.org/pod/Mozilla%3A%3APublicSuffix) and use - [HTTP::CookieJar::LWP](https://metacpan.org/pod/HTTP%3A%3ACookieJar%3A%3ALWP) as your cookie jar. [HTTP::CookieJar::LWP](https://metacpan.org/pod/HTTP%3A%3ACookieJar%3A%3ALWP) provides a + You are encouraged to install [Mozilla::PublicSuffix](https://metacpan.org/pod/Mozilla::PublicSuffix) and use + [HTTP::CookieJar::LWP](https://metacpan.org/pod/HTTP::CookieJar::LWP) as your cookie jar. [HTTP::CookieJar::LWP](https://metacpan.org/pod/HTTP::CookieJar::LWP) provides a better security model matching that of current Web browsers when - [Mozilla::PublicSuffix](https://metacpan.org/pod/Mozilla%3A%3APublicSuffix) is installed. + [Mozilla::PublicSuffix](https://metacpan.org/pod/Mozilla::PublicSuffix) is installed. use HTTP::CookieJar::LWP (); @@ -1435,7 +1435,7 @@ - protocols\_allowed - This option is inherited directly from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). It allows you to + This option is inherited directly from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). It allows you to whitelist the protocols you're willing to allow. my $agent = WWW::Mechanize->new( @@ -1447,7 +1447,7 @@ - protocols\_forbidden - This option is also inherited directly from [LWP::UserAgent](https://metacpan.org/pod/LWP%3A%3AUserAgent). It allows you to + This option is also inherited directly from [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent). It allows you to blacklist the protocols you're unwilling to allow. my $agent = WWW::Mechanize->new( @@ -1517,7 +1517,7 @@ [http://perlmonks.org](http://perlmonks.org) is an excellent community of support, and many questions about Mech have already been answered there. -- [WWW::Mechanize::Examples](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AExamples) +- [WWW::Mechanize::Examples](https://metacpan.org/pod/WWW::Mechanize::Examples) A random array of examples submitted by users, included with the Mechanize distribution. @@ -1563,36 +1563,36 @@ - [http://www.linux-magazin.de/ausgaben/2004/03/datenruessel/](http://www.linux-magazin.de/ausgaben/2004/03/datenruessel/) - Michael Schilli's article on Mech and [WWW::Mechanize::Shell](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AShell) for the + Michael Schilli's article on Mech and [WWW::Mechanize::Shell](https://metacpan.org/pod/WWW::Mechanize::Shell) for the German magazine _Linux Magazin_. ## Other modules that use Mechanize Here are modules that use or subclass Mechanize. Let me know of any others: -- [Finance::Bank::LloydsTSB](https://metacpan.org/pod/Finance%3A%3ABank%3A%3ALloydsTSB) -- [HTTP::Recorder](https://metacpan.org/pod/HTTP%3A%3ARecorder) +- [Finance::Bank::LloydsTSB](https://metacpan.org/pod/Finance::Bank::LloydsTSB) +- [HTTP::Recorder](https://metacpan.org/pod/HTTP::Recorder) Acts as a proxy for web interaction, and then generates WWW::Mechanize scripts. -- [Win32::IE::Mechanize](https://metacpan.org/pod/Win32%3A%3AIE%3A%3AMechanize) +- [Win32::IE::Mechanize](https://metacpan.org/pod/Win32::IE::Mechanize) Just like Mech, but using Microsoft Internet Explorer to do the work. -- [WWW::Bugzilla](https://metacpan.org/pod/WWW%3A%3ABugzilla) -- [WWW::CheckSite](https://metacpan.org/pod/WWW%3A%3ACheckSite) -- [WWW::Google::Groups](https://metacpan.org/pod/WWW%3A%3AGoogle%3A%3AGroups) -- [WWW::Hotmail](https://metacpan.org/pod/WWW%3A%3AHotmail) -- [WWW::Mechanize::Cached](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ACached) -- [WWW::Mechanize::Cached::GZip](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ACached%3A%3AGZip) -- [WWW::Mechanize::FormFiller](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AFormFiller) -- [WWW::Mechanize::Shell](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3AShell) -- [WWW::Mechanize::Sleepy](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ASleepy) -- [WWW::Mechanize::SpamCop](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ASpamCop) -- [WWW::Mechanize::Timed](https://metacpan.org/pod/WWW%3A%3AMechanize%3A%3ATimed) -- [WWW::SourceForge](https://metacpan.org/pod/WWW%3A%3ASourceForge) -- [WWW::Yahoo::Groups](https://metacpan.org/pod/WWW%3A%3AYahoo%3A%3AGroups) -- [WWW::Scripter](https://metacpan.org/pod/WWW%3A%3AScripter) +- [WWW::Bugzilla](https://metacpan.org/pod/WWW::Bugzilla) +- [WWW::CheckSite](https://metacpan.org/pod/WWW::CheckSite) +- [WWW::Google::Groups](https://metacpan.org/pod/WWW::Google::Groups) +- [WWW::Hotmail](https://metacpan.org/pod/WWW::Hotmail) +- [WWW::Mechanize::Cached](https://metacpan.org/pod/WWW::Mechanize::Cached) +- [WWW::Mechanize::Cached::GZip](https://metacpan.org/pod/WWW::Mechanize::Cached::GZip) +- [WWW::Mechanize::FormFiller](https://metacpan.org/pod/WWW::Mechanize::FormFiller) +- [WWW::Mechanize::Shell](https://metacpan.org/pod/WWW::Mechanize::Shell) +- [WWW::Mechanize::Sleepy](https://metacpan.org/pod/WWW::Mechanize::Sleepy) +- [WWW::Mechanize::SpamCop](https://metacpan.org/pod/WWW::Mechanize::SpamCop) +- [WWW::Mechanize::Timed](https://metacpan.org/pod/WWW::Mechanize::Timed) +- [WWW::SourceForge](https://metacpan.org/pod/WWW::SourceForge) +- [WWW::Yahoo::Groups](https://metacpan.org/pod/WWW::Yahoo::Groups) +- [WWW::Scripter](https://metacpan.org/pod/WWW::Scripter) # ACKNOWLEDGEMENTS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/cpanfile new/WWW-Mechanize-1.96/cpanfile --- old/WWW-Mechanize-1.95/cpanfile 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/cpanfile 2020-02-21 03:23:49.000000000 +0100 @@ -65,13 +65,17 @@ requires "Perl::Tidy" => "20180220"; requires "Pod::Coverage::TrustPod" => "0"; requires "Test::Code::TidyAll" => "0.50"; + requires "Test::EOL" => "0"; requires "Test::Memory::Cycle" => "1.06"; + requires "Test::Mojibake" => "0"; requires "Test::More" => "0.88"; requires "Test::Needs" => "0"; requires "Test::Pod" => "1.41"; requires "Test::Pod::Coverage" => "1.08"; + requires "Test::Portability::Files" => "0"; requires "Test::RequiresInternet" => "0"; requires "Test::Vars" => "0.014"; + requires "Test::Version" => "1"; requires "constant" => "0"; requires "lib" => "0"; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Cookbook.pod new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Cookbook.pod --- old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Cookbook.pod 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Cookbook.pod 2020-02-21 03:23:49.000000000 +0100 @@ -13,7 +13,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 INTRODUCTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Examples.pod new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Examples.pod --- old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Examples.pod 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Examples.pod 2020-02-21 03:23:49.000000000 +0100 @@ -13,7 +13,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 SYNOPSIS @@ -234,7 +234,7 @@ # listmod - fast alternative to mailman list interface # # usage: listmod crew XXXXXXXX - # + # die "usage: $0 <listname> <password>\n" unless @ARGV == 2; my ($listname, $password) = @ARGV; @@ -269,7 +269,7 @@ # show item info my $sender = unescape($item); - my ($subject) = [$f->find_input("senderbanp-$item")->value_names]->[1] + my ($subject) = [$f->find_input("senderbanp-$item")->value_names]->[1] =~ /Subject:\s+(.+?)\s+Size:/g; # prompt user @@ -328,13 +328,13 @@ still good as sample code. #!/usr/bin/perl -w - + use strict; - + use WWW::Mechanize; use Getopt::Long; use Text::Wrap; - + my $match = undef; my $random = undef; GetOptions( @@ -518,12 +518,12 @@ $mech->field('category_id',1); # adjust as needed $mech->field('text',$entry->{btext}); $mech->field('status',2); # publish, or 1 = draft - $results = $mech->submit(); + $results = $mech->submit(); # if we're ok with this entry being datestamped "NOW" (no {date} in %entry) # we're done. Otherwise, time to be tricksy # MT returns a 302 redirect from this form. the redirect itself contains a <body onload=""> handler - # which takes the user to an editable version of the form where the create date can be edited + # which takes the user to an editable version of the form where the create date can be edited # MT date format of YYYY-MM-DD HH:MI:SS is the only one that won't error out if ($entry->{date} && $entry->{date} =~ /^\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}/) { @@ -543,11 +543,11 @@ Randal submitted this bot that walks the despair.com site sucking down all the pictures. - use strict; + use strict; $|++; use WWW::Mechanize; - use File::Basename; + use File::Basename; my $m = WWW::Mechanize->new; @@ -556,12 +556,12 @@ my @top_links = @{$m->links}; for my $top_link_num (0..$#top_links) { - next unless $top_links[$top_link_num][0] =~ /^http:/; + next unless $top_links[$top_link_num][0] =~ /^http:/; $m->follow_link( n=>$top_link_num ) or die "can't follow $top_link_num"; print $m->uri, "\n"; - for my $image (grep m{^http://store4}, map $_->[0], @{$m->links}) { + for my $image (grep m{^http://store4}, map $_->[0], @{$m->links}) { my $local = basename $image; print " $image...", $m->mirror($image, $local)->message, "\n" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/lib/WWW/Mechanize/FAQ.pod new/WWW-Mechanize-1.96/lib/WWW/Mechanize/FAQ.pod --- old/WWW-Mechanize-1.95/lib/WWW/Mechanize/FAQ.pod 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/lib/WWW/Mechanize/FAQ.pod 2020-02-21 03:23:49.000000000 +0100 @@ -13,7 +13,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 How to get help with WWW::Mechanize @@ -134,7 +134,7 @@ GET http://search.cpan.org/search query= mode=all (option) [*all|module|dist|author] - <NONAME>=CPAN Search (submit) + <NONAME>=CPAN Search (submit) =head2 How do I get Mech to handle authentication? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Image.pm new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Image.pm --- old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Image.pm 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Image.pm 2020-02-21 03:23:49.000000000 +0100 @@ -3,7 +3,7 @@ use strict; use warnings; -our $VERSION = '1.95'; +our $VERSION = '1.96'; #ABSTRACT: Image object for WWW::Mechanize @@ -69,7 +69,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Link.pm new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Link.pm --- old/WWW-Mechanize-1.95/lib/WWW/Mechanize/Link.pm 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/lib/WWW/Mechanize/Link.pm 2020-02-21 03:23:49.000000000 +0100 @@ -3,7 +3,7 @@ use strict; use warnings; -our $VERSION = '1.95'; +our $VERSION = '1.96'; #ABSTRACT: Link object for WWW::Mechanize @@ -65,7 +65,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 SYNOPSIS @@ -115,7 +115,7 @@ =head2 $link->attrs() -Returns hash ref of all the attributes and attribute values in the tag. +Returns hash ref of all the attributes and attribute values in the tag. =head2 $link->URI() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/lib/WWW/Mechanize.pm new/WWW-Mechanize-1.96/lib/WWW/Mechanize.pm --- old/WWW-Mechanize-1.95/lib/WWW/Mechanize.pm 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/lib/WWW/Mechanize.pm 2020-02-21 03:23:49.000000000 +0100 @@ -6,7 +6,7 @@ use strict; use warnings; -our $VERSION = '1.95'; +our $VERSION = '1.96'; use Tie::RefHash; use HTTP::Request 1.30; @@ -905,7 +905,7 @@ my $set = @_ ? shift : 1; # default to 1 if not passed # loop though all the inputs - my $index = 0; + my $index = 1; while ( my $input = $self->current_form->find_input( $name, 'checkbox', $index ) ) { # Can't guarantee that the first element will be undef and the second # element will be the right name @@ -1686,7 +1686,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 SYNOPSIS @@ -2578,7 +2578,7 @@ (Currently does not work for attribute C<action> due to implementation details of L<HTML::Form>.) When given more than one pair, all criteria must match. -Using C<undef> as value means that the attribute in question may not be present. +Using C<undef> as value means that the attribute in question must not be present. All matching forms (perhaps none) are returned as a list of L<HTML::Form> objects. @@ -2589,7 +2589,7 @@ (Currently does not work for attribute C<action> due to implementation details of L<HTML::Form>.) When given more than one pair, all criteria must match. -Using C<undef> as value means that the attribute in question may not be present. +Using C<undef> as value means that the attribute in question must not be present. If it is found, the form is returned as an L<HTML::Form> object and set internally for later used with Mech's form methods such as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/script/mech-dump new/WWW-Mechanize-1.96/script/mech-dump --- old/WWW-Mechanize-1.95/script/mech-dump 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/script/mech-dump 2020-02-21 03:23:49.000000000 +0100 @@ -95,7 +95,7 @@ sub dump_forms { my $mech = shift; print "--> Forms:\n" if $all; - $mech->dump_forms( undef, $absolute ); + $mech->dump_forms( undef ); return; } @@ -131,7 +131,7 @@ =head1 VERSION -version 1.95 +version 1.96 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/t/00-report-prereqs.dd new/WWW-Mechanize-1.96/t/00-report-prereqs.dd --- old/WWW-Mechanize-1.95/t/00-report-prereqs.dd 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/t/00-report-prereqs.dd 2020-02-21 03:23:49.000000000 +0100 @@ -22,13 +22,17 @@ 'Perl::Tidy' => '20180220', 'Pod::Coverage::TrustPod' => '0', 'Test::Code::TidyAll' => '0.50', + 'Test::EOL' => '0', 'Test::Memory::Cycle' => '1.06', + 'Test::Mojibake' => '0', 'Test::More' => '0.88', 'Test::Needs' => '0', 'Test::Pod' => '1.41', 'Test::Pod::Coverage' => '1.08', + 'Test::Portability::Files' => '0', 'Test::RequiresInternet' => '0', 'Test::Vars' => '0.014', + 'Test::Version' => '1', 'constant' => '0', 'lib' => '0' } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/t/find_image.t new/WWW-Mechanize-1.96/t/find_image.t --- old/WWW-Mechanize-1.95/t/find_image.t 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/t/find_image.t 2020-02-21 03:23:49.000000000 +0100 @@ -51,7 +51,7 @@ [ $mech->images ], 'images() and find_all_images() return the same thing in list context' ); - + my $images = $mech->images; my $all_images = $mech->find_all_images; cmp_deeply( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/t/frames.html new/WWW-Mechanize-1.96/t/frames.html --- old/WWW-Mechanize-1.95/t/frames.html 2019-10-28 14:07:52.000000000 +0100 +++ new/WWW-Mechanize-1.96/t/frames.html 2020-02-21 03:23:49.000000000 +0100 @@ -1,13 +1,13 @@ -<html> - <head> - <title></title> - </head> - - <frameset rows="*,*" frameborder="1" framespacing="0" border="1"> - <frame name="top" src="find_link.html" marginwidth="8" -marginheight="8" scrolling="auto" frameborder="no"> - <frame name="bottom" src="google.html" marginwidth="0" -marginheight="0" scrolling="no" frameborder="no" noresize> - </frameset> - -</html> +<html> + <head> + <title></title> + </head> + + <frameset rows="*,*" frameborder="1" framespacing="0" border="1"> + <frame name="top" src="find_link.html" marginwidth="8" +marginheight="8" scrolling="auto" frameborder="no"> + <frame name="bottom" src="google.html" marginwidth="0" +marginheight="0" scrolling="no" frameborder="no" noresize> + </frameset> + +</html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/t/local/LocalServer.pm new/WWW-Mechanize-1.96/t/local/LocalServer.pm --- old/WWW-Mechanize-1.95/t/local/LocalServer.pm 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/t/local/LocalServer.pm 2020-02-21 03:23:49.000000000 +0100 @@ -186,7 +186,7 @@ sub get_log { my ($self) = @_; - + my $log = get( $self->get_server_log ); $self->stop; return $log; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/t/local/nonascii.html new/WWW-Mechanize-1.96/t/local/nonascii.html --- old/WWW-Mechanize-1.95/t/local/nonascii.html 2019-10-28 14:07:53.000000000 +0100 +++ new/WWW-Mechanize-1.96/t/local/nonascii.html 2020-02-21 03:23:49.000000000 +0100 @@ -1,4 +1,4 @@ -<!DOCTYPE html +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/xt/author/eol.t new/WWW-Mechanize-1.96/xt/author/eol.t --- old/WWW-Mechanize-1.95/xt/author/eol.t 1970-01-01 01:00:00.000000000 +0100 +++ new/WWW-Mechanize-1.96/xt/author/eol.t 2020-02-21 03:23:49.000000000 +0100 @@ -0,0 +1,106 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19 + +use Test::More 0.88; +use Test::EOL; + +my @files = ( + 'lib/WWW/Mechanize.pm', + 'lib/WWW/Mechanize/Cookbook.pod', + 'lib/WWW/Mechanize/Examples.pod', + 'lib/WWW/Mechanize/FAQ.pod', + 'lib/WWW/Mechanize/Image.pm', + 'lib/WWW/Mechanize/Link.pm', + 'script/mech-dump', + 't/00-load.t', + 't/00-report-prereqs.dd', + 't/00-report-prereqs.t', + 't/TestServer.pm', + 't/Tools.pm', + 't/add_header.t', + 't/aliases.t', + 't/area_link.html', + 't/area_link.t', + 't/autocheck.t', + 't/bad-request.t', + 't/clone.t', + 't/content.t', + 't/cookies.t', + 't/credentials-api.t', + 't/credentials.t', + 't/die.t', + 't/dump.t', + 't/field.html', + 't/field.t', + 't/find_frame.html', + 't/find_frame.t', + 't/find_image.t', + 't/find_inputs.html', + 't/find_inputs.t', + 't/find_link-warnings.t', + 't/find_link.html', + 't/find_link.t', + 't/find_link_id.html', + 't/find_link_id.t', + 't/form-parsing.t', + 't/form_with_fields.html', + 't/form_with_fields.t', + 't/form_with_fields_passthrough_params.t', + 't/form_with_fields_verbose.html', + 't/frames.html', + 't/frames.t', + 't/google.html', + 't/history.t', + 't/history_1.html', + 't/history_2.html', + 't/history_3.html', + 't/image-new.t', + 't/image-parse.html', + 't/image-parse.t', + 't/link-base.t', + 't/link-relative.t', + 't/link.t', + 't/local/LocalServer.pm', + 't/local/back.t', + 't/local/click.t', + 't/local/click_button.t', + 't/local/content.t', + 't/local/encoding.t', + 't/local/failure.t', + 't/local/follow.t', + 't/local/form.t', + 't/local/get.t', + 't/local/log-server', + 't/local/nonascii.html', + 't/local/nonascii.t', + 't/local/overload.t', + 't/local/page_stack.t', + 't/local/post.t', + 't/local/referer-server', + 't/local/referer.t', + 't/local/reload.t', + 't/local/submit.t', + 't/mech-dump/mech-dump.t', + 't/new.t', + 't/refresh.html', + 't/regex-error.t', + 't/save_content.html', + 't/save_content.t', + 't/select.html', + 't/select.t', + 't/submit_form.t', + 't/taint.t', + 't/tick.html', + 't/tick.t', + 't/untaint.t', + 't/upload.html', + 't/upload.t', + 't/uri.t', + 't/warn.t', + 't/warnings.t' +); + +eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files; +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/xt/author/mojibake.t new/WWW-Mechanize-1.96/xt/author/mojibake.t --- old/WWW-Mechanize-1.95/xt/author/mojibake.t 1970-01-01 01:00:00.000000000 +0100 +++ new/WWW-Mechanize-1.96/xt/author/mojibake.t 2020-02-21 03:23:49.000000000 +0100 @@ -0,0 +1,9 @@ +#!perl + +use strict; +use warnings qw(all); + +use Test::More; +use Test::Mojibake; + +all_files_encoding_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/xt/author/portability.t new/WWW-Mechanize-1.96/xt/author/portability.t --- old/WWW-Mechanize-1.95/xt/author/portability.t 1970-01-01 01:00:00.000000000 +0100 +++ new/WWW-Mechanize-1.96/xt/author/portability.t 2020-02-21 03:23:49.000000000 +0100 @@ -0,0 +1,10 @@ +use strict; +use warnings; + +use Test::More; + +eval 'use Test::Portability::Files'; +plan skip_all => 'Test::Portability::Files required for testing portability' + if $@; + +run_tests(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WWW-Mechanize-1.95/xt/author/test-version.t new/WWW-Mechanize-1.96/xt/author/test-version.t --- old/WWW-Mechanize-1.95/xt/author/test-version.t 1970-01-01 01:00:00.000000000 +0100 +++ new/WWW-Mechanize-1.96/xt/author/test-version.t 2020-02-21 03:23:49.000000000 +0100 @@ -0,0 +1,23 @@ +use strict; +use warnings; +use Test::More; + +# generated by Dist::Zilla::Plugin::Test::Version 1.09 +use Test::Version; + +my @imports = qw( version_all_ok ); + +my $params = { + is_strict => 0, + has_version => 1, + multiple => 0, + +}; + +push @imports, $params + if version->parse( $Test::Version::VERSION ) >= version->parse('1.002'); + +Test::Version->import(@imports); + +version_all_ok; +done_testing;
