NAME

IO::ExplicitHandle - force I/O handles to be explicitly specified

DESCRIPTION

This module provides a lexically-scoped pragma that prohibits I/O
operations that implicitly default to an I/O handle determined at runtime.
For example, "print 123" implicitly uses the "currently selected" I/O
handle (controlled by select).  Within the context of the pragma, I/O
operations must be explicitly told which handle they are to operate on.
For example, "print STDOUT 123" explicitly uses the program's standard
output stream.

The affected operations are those that use either the "currently selected"
I/O handle or the "last read" I/O handle.  The affected operations that
use the "currently selected" I/O handle are print, printf, say, close,
write, and the magic variables $|, $^, $~, $=, $-, and $%.  The affected
operations that use the "last read" I/O handle are eof, tell, and the
magic variable $..

INSTALLATION

	perl Build.PL
	./Build
	./Build test
	./Build install

AUTHOR

Andrew Main (Zefram) <zefram@fysh.org>

COPYRIGHT

Copyright (C) 2012, 2017, 2023 Andrew Main (Zefram) <zefram@fysh.org>

LICENSE

This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
