New upstream version 1.023
gregor herrmann
3 years ago
0 | 0 | Revision history for Perl module IO::Interactive |
1 | ||
2 | 1.023 2021-02-03T22:37:57Z | |
3 | * Explain why ARGV is a problem (Github #9) | |
4 | * Freshen distro, remove Travis CI, add Github Actions | |
1 | 5 | |
2 | 6 | 1.022 2016-09-04T05:31:39Z |
3 | 7 | * Stable release with some performance enhancements |
55 | 55 | ^MYMETA\. |
56 | 56 | #!end included /usr/local/perls/perl-5.20.0/lib/5.20.0/ExtUtils/MANIFEST.SKIP |
57 | 57 | |
58 | ^IO- | |
59 | \.?appveyor.yml | |
60 | \.releaserc | |
61 | \.lwpcookies | |
62 | \bMANIFEST\s\d | |
63 | \bChanges\s\d | |
64 | \.icloud$ | |
65 | \A\.github\b | |
58 | 66 | |
59 | \.releaserc | |
60 | ^IO- | |
61 | \.travis\.yml |
3 | 3 | "Damian Conway <DCONWAY@cpan.org>" |
4 | 4 | ], |
5 | 5 | "dynamic_config" : 1, |
6 | "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.140640", | |
6 | "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010", | |
7 | 7 | "license" : [ |
8 | "perl_5" | |
8 | "artistic_2" | |
9 | 9 | ], |
10 | 10 | "meta-spec" : { |
11 | 11 | "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", |
12 | "version" : "2" | |
12 | "version" : 2 | |
13 | 13 | }, |
14 | 14 | "name" : "IO-Interactive", |
15 | 15 | "no_index" : { |
35 | 35 | }, |
36 | 36 | "test" : { |
37 | 37 | "requires" : { |
38 | "Test::More" : "0.94" | |
38 | "Test::More" : "1" | |
39 | 39 | } |
40 | 40 | } |
41 | 41 | }, |
51 | 51 | "web" : "https://github.com/briandfoy/io-interactive" |
52 | 52 | } |
53 | 53 | }, |
54 | "version" : "1.022" | |
54 | "version" : "1.023", | |
55 | "x_serialization_backend" : "JSON::PP version 4.04" | |
55 | 56 | } |
2 | 2 | author: |
3 | 3 | - 'Damian Conway <DCONWAY@cpan.org>' |
4 | 4 | build_requires: |
5 | Test::More: '0.94' | |
5 | Test::More: '1' | |
6 | 6 | configure_requires: |
7 | 7 | ExtUtils::MakeMaker: '6.64' |
8 | 8 | File::Spec::Functions: '0' |
9 | 9 | dynamic_config: 1 |
10 | generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.140640' | |
11 | license: perl | |
10 | generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010' | |
11 | license: artistic_2 | |
12 | 12 | meta-spec: |
13 | 13 | url: http://module-build.sourceforge.net/META-spec-v1.4.html |
14 | 14 | version: '1.4' |
23 | 23 | bugtracker: https://github.com/briandfoy/io-interactive/issues |
24 | 24 | homepage: https://github.com/briandfoy/io-interactive |
25 | 25 | repository: https://github.com/briandfoy/io-interactive.git |
26 | version: '1.022' | |
26 | version: '1.023' | |
27 | x_serialization_backend: 'CPAN::Meta::YAML version 0.018' |
49 | 49 | 'AUTHOR' => 'Damian Conway <DCONWAY@cpan.org>', |
50 | 50 | 'VERSION_FROM' => $main_file, |
51 | 51 | 'ABSTRACT_FROM' => $main_file, |
52 | 'LICENSE' => 'perl', | |
52 | 'LICENSE' => 'artistic_2', | |
53 | 53 | |
54 | 54 | 'CONFIGURE_REQUIRES' => { |
55 | 55 | 'ExtUtils::MakeMaker' => '6.64', |
60 | 60 | }, |
61 | 61 | |
62 | 62 | 'TEST_REQUIRES' => { |
63 | 'Test::More' => '0.94', | |
63 | 'Test::More' => '1', | |
64 | 64 | }, |
65 | 65 | |
66 | 66 | 'PREREQ_PM' => { |
1 | 1 | |
2 | 2 | =encoding utf8 |
3 | 3 | |
4 | =for HTML <a href="../../actions?query=workflow%3Amacos"><img src="../../workflows/macos/badge.svg"></a> | |
5 | ||
6 | =for HTML <a href="../../actions?query=workflow%3Aubuntu"><img src="../../workflows/ubuntu/badge.svg"></a> | |
7 | ||
8 | =for HTML <a href="../../actions?query=workflow%3Awindows"><img src="../../workflows/windows/badge.svg"></a> | |
9 | ||
10 | =for HTML <a href='https://ci.appveyor.com/project/briandfoy/io-interactive'><img src='https://ci.appveyor.com/api/projects/status/nxocrwut3tcni3ei' /></a> | |
11 | ||
12 | =for HTML <a href='https://coveralls.io/github/briandfoy/io-interactive?branch=master'><img src='https://coveralls.io/repos/github/briandfoy/io-interactive/badge.svg?branch=master' alt='Coverage Status' /></a> | |
13 | ||
14 | =for HTML <a href="https://github.com/briandfoy/io-interactive/blob/master/LICENSE"><img src="https://img.shields.io/cpan/l/IO-Interactive.svg" /></a> | |
15 | ||
16 | =for HTML <a href="https://metacpan.org/pod/IO::Interactive"><img src="https://img.shields.io/cpan/v/IO-Interactive.svg" /></A> | |
17 | ||
4 | 18 | =head1 The IO::Interactive module |
5 | 19 | |
6 | This is the I<README> for the L<IO::Interactive> Perl module. You're probably | |
20 | This is the I<README> for the L<IO::Interactive> Perl module. You're probably | |
7 | 21 | looking at this because you don't know where else to find what you're |
8 | looking for. Read this once and you might never have to read one again | |
22 | looking for. Read this once and you might never have to read one again | |
9 | 23 | for any Perl module. |
10 | 24 | |
11 | 25 | =head2 Documentation |
12 | 26 | |
13 | To read about L<IO::Interactive>, look at the embedded documentation | |
14 | in the module itself. Inside the distribution, you can format it | |
15 | with L<perldoc|http://perldoc.perl.org/perldoc.html>: | |
27 | To read about L<IO::Interactive>, look at the embedded documentation | |
28 | in the module itself. Inside the distribution, you can format it | |
29 | with L<perldoc|https://perldoc.perl.orgperldoc.html>: | |
16 | 30 | |
17 | 31 | % perldoc lib/IO/Interactive.pm |
18 | 32 | |
21 | 35 | |
22 | 36 | % perldoc IO::Interactive |
23 | 37 | |
24 | You can read the documentation and inspect the meta data on one of the | |
25 | CPAN web interfaces, such as L<CPAN Search|http://search.cpan.org/dist/IO-Interactive> or | |
26 | L<MetaCPAN|http://www.metacpan.org/module/IO::Interactive>: | |
27 | ||
28 | =over 4 | |
29 | ||
30 | =item * L<http://search.cpan.org/dist/IO-Interactive> | |
31 | ||
32 | =item * L<http://www.metacpan.org/module/IO::Interactive> | |
33 | ||
34 | =back | |
38 | You can read the documentation and inspect the meta data at | |
39 | L<MetaCPAN|https://metacpan.org/pod/IO::Interactive>. | |
35 | 40 | |
36 | 41 | The standard module documentation has example uses in the SYNOPSIS |
37 | 42 | section, but you can also look in the I<examples/> directory (if it's |
58 | 63 | % make test |
59 | 64 | % make install |
60 | 65 | |
61 | You probably don't want to do that unless you're fiddling with the | |
66 | You probably don't want to do that unless you're fiddling with the | |
62 | 67 | module and only want to run the tests without installing anything. |
63 | 68 | |
64 | 69 | =head2 Source location |
65 | ||
70 | ||
66 | 71 | The meta data, such as the source repository and bug tracker, is in |
67 | 72 | I<Makefile.PL> or the I<META.*> files it creates. You can find that on |
68 | 73 | those CPAN web interfaces, but you can also look at files directly in |
74 | 79 | |
75 | 80 | =back |
76 | 81 | |
77 | If you find a problem, file a ticket in the L<issue | |
82 | If you find a problem, file a ticket in the L<issue | |
78 | 83 | tracker|https://github.com/briandfoy/io-interactive/issues>: |
79 | 84 | |
80 | 85 | =over 4 |
93 | 98 | L<Stackoverflow|http://www.stackoverflow.com>, both of which have many |
94 | 99 | competent Perlers who can answer your question, almost in real time. |
95 | 100 | They might not know the particulars of this module, but they can help |
96 | you diagnose your problem. | |
101 | you diagnose your problem. | |
97 | 102 | |
98 | You might like to read L<brian's Guide to Solving Any Perl | |
99 | Problem|http://archive.oreilly.com/pub/a/perl/excerpts/9780596527242/brians-guide.html>. | |
103 | You might like to read L<brian's Guide to Solving Any Perl | |
104 | Problem|https://briandfoy.github.io/brians-guide-to-solving-any-perl-problem/>. | |
100 | 105 | |
101 | 106 | =head2 Copyright and License |
102 | 107 | |
103 | 108 | You should have received a I<LICENSE> file, but the license is also noted |
104 | 109 | in the module files. About the only thing you can't do is pretend that |
105 | you wrote code that you didn't. | |
110 | you wrote code that you didn't. | |
106 | 111 | |
107 | 112 | =head2 Good luck! |
108 | 113 | |
109 | Enjoy, | |
114 | Enjoy, | |
110 | 115 | |
111 | 116 | brian d foy, bdfoy@cpan.org |
112 | 117 |
0 | use 5.008; | |
0 | 1 | package IO::Interactive; |
1 | 2 | |
2 | 3 | use strict; |
3 | 4 | use warnings; |
4 | 5 | |
5 | $IO::Interactive::VERSION = '1.022'; | |
6 | $IO::Interactive::VERSION = '1.023'; | |
6 | 7 | |
7 | 8 | sub is_interactive { |
8 | 9 | my ($out_handle) = (@_, select); # Default to default output handle |
160 | 161 | =head1 DESCRIPTION |
161 | 162 | |
162 | 163 | This module provides three utility subroutines that make it easier to |
163 | develop interactive applications... | |
164 | develop interactive applications. | |
165 | ||
166 | The C<ARGV> filehandle, the one that C<< <> >> or an empty | |
167 | C<readline()> uses, has various magic associated with it. It's not | |
168 | actually opened until you try to read from it. Checking C<-t ARGV> | |
169 | before you've tried to read from it might give you the wrong answer. | |
170 | Not only that, you might not read from C<ARGV>. If the value in | |
171 | C<@ARGV> is the magic filename C<-> (a convention to mean the standard | |
172 | filehandle for input or output), C<ARGV> might actually be C<STDIN>. | |
173 | You don't want to think about all of this. This module is discussed in | |
174 | I<Perl Best Practices> on page 218. Also see the C<ARGV> entry in | |
175 | L<perlvar> and the C<readline> entry in L<perlfunc>. | |
164 | 176 | |
165 | 177 | =over |
166 | 178 | |
263 | 275 | |
264 | 276 | =head1 LICENCE AND COPYRIGHT |
265 | 277 | |
266 | Copyright (c) 2005, Damian Conway C<< <DCONWAY@cpan.org> >>. All rights reserved. | |
278 | Copyright © 2005-2021, Damian Conway C<< <DCONWAY@cpan.org> >>. All rights reserved. | |
267 | 279 | |
268 | 280 | This module is free software; you can redistribute it and/or |
269 | 281 | modify it under the same terms as Perl itself. |