Revision history File::Slurp
9999.31 2020-06-28
- Remove TravisCI and AppVeyor
- Test using GitHub Actions/workflows on Windows, Mac, and Linux
- Add See Also section to the docs. (PR#24 Thanks, Dan Book)
- Add file existence and size checks (RT 132900 - Thanks, Bao Haojun)
9999.30 2020-03-09
- Altered the atomic version of write_file to use temporary files that
are also hidden files. (RT #132064)
9999.29 2019-11-27
- Correct some documentation errors where copy-paste had us saying
File::Spec rather than File::Slurp. (RT 131097 - Thanks, Mike)
- Reduce the size of the tests in t/handle.t to be nicer to CPAN
Testers.
9999.28 2019-04-05
- Stop testing with Taint mode. Taint was a terrible practice that should
have never ever ever been a thing.
9999.27 2019-04-05
- Update the documentation on the atomic write. We no longer use the pid
and I neglected to update the documentation as such. (RT #129029)
- Localize $^W to stop File::Temp from warning the user when the -w flag
is on while we're grabbing a temporary file name. (RT #129029)
9999.26 2019-02-13
- Reduce the size of handle.t to prevent failures on systems with limits set
- Skip all tests in the suite that relied on overriding syswrite to test
failure mechanisms as CORE::print cannot be overridden.
- Refactor write_file to use print rather than syswrite.
- When performing an atomic write, make sure we find a good temporary file
so that we don't accidentally overwrite a file that may already exist in
the working directory.
- Stop re-working the line endings on write_file when on Windows as the use
of print now allows layers to provide that functionality.
- Add File::Basename, File::Spec, File::Temp, and IO::Handle to the runtime
prereqs. These were already testing prereqs and are core.
- Perl 5.30 compliance is complete at this point.
9999.25 2018-11-16
- The previous release contained nothing but a documentation update. That
updated documentation errantly mentioned pseudo-files. Pseudo-files
are perfectly fine to use with File::Slurp.
- Add regression test for GLOB refs being slurped in. Thank you, James Keenan!
https://github.com/perhunter/slurp/pull/17#issuecomment-437174592
- Refactor read_file to use open and read rather than sysopen and sysread.
- Add a bugwards compatible feature to keep track of the cursor when
dealing with the DATA handle (https://github.com/perhunter/slurp/pull/17)
- Fix a typo in the docs.
9999.24 2018-10-29
- Document the clear downfalls of using file handles of any kind rather
than just the file's path string.
9999.23 2018-10-20
- Fix an error on the test rewrites with a bad value for binmode
- Create a 00-report-prereqs.dd to ease testing on 5.6
- Bump requirement for File::Spec to 3.01 as Cwd was shipped separately
before and the one that came with 5.6 had Taint issues.
- Cleaned up the Change log to make all dates uniform
9999.22 2018-10-15
- Update the SYNOPSIS documentation. (Graham Knop)
- Fix some EUMM metadata depending on version. (Dan Book)
- Fix Windows path concatenation on read_dir. (James Keenan)
- Document each function with proper POD heads and re-order in alphabetical
- Dump the POD to GH markdown for a README.md
- Remove the README file
- Remove some work-arounds for older Perls < 5.6
- Do not inherit from Exporter (requires Exporter 5.57)
- Fix perms.t to run on all platforms (Aristotle Pagaltzis, Linda Walsh
via RT #92401)
- Clean up handle.t (we no longer use the -w flag anywhere)
9999.21 2018-10-08
- Unset $^W in a few strategic places to silence warnings when Test::Harness
or ExtUtils::MakeMaker turn them on. (Thanks, Graham Knop).
- Got rid of a few MYMETA leftovers in the MANIFEST
- Add Git repository info to the Makefile
- Add a contributor's list for display on metacpan
9999.20_02 2018-10-04 (TRIAL)
- Update TravisCI tests to show coverage.
- Update all remaining test files
- Get rid of assumption of . in @INC in tests
- Remove t/TestDriver.pm
- Add t/lib/FileSlurpTest.pm
- Make sure all tests use a properly acquired temp file
- Clean up prereqs a bit further
- Document all failure cases in the 01-error* tests.
- Moved the CORE:: function overrides to their own test class to only be
included when overriding is necessary
9999.20_01 2018-09-27 (TRIAL)
- Fixed spelling mistakes in POD (RT #85251)
- Fixed a typo in an example (RTs #72116, #80279)
- Remove doc mentions of Perl < 5.006 as that's required.
- Fix POD coverage tests by adding a few more ignored functions
- Added t/edit_file.t (James Keenan)
- Move the POD tests to xt/author
- Update t/append_null.t
- Update t/binmode.t
- Update t/data_list.t
- Update t/data_scalar.t
- Update t/error_mode.t
- Update t/large.t
- Update t/original.t
- Update t/stringify.t
- Added t/00-report-prereqs.t
- Added more xt/author tests
- Fix all trailing whitespace in accordance with xt/author/eol.t
- Updated the Makefile.PL to get all of the prereqs in there.
- Add CI testing via TravisCI and AppVeyor
9999.19 2011-Jun-7
- Fixed use line in t/edit_file.t to import :edit first (paul)
- read_file and write_file work even when interrupted by signals
this includes a test for read_file interrupt (Andrew Danforth)
- Fixed bugs in the config synopsis example
9999.18 2011-May-13
- Added :std and :edit export tags
- Cleaned up EXPORT vars
- Documented importing edit_file and edit_file_lines
- Fixed some pod spelling
9999.17 2011-04-27
- Requiring Perl 5.6.2 (first time older Perls were dropped)
This is because of use of the re 'taint' pragma
- Added major new features: edit_file and edit_file_lines
- Speed up of tainted slurp with return of lines
- Added chomp option to read_file
- Added prefix option to read_dir
- Fixed optimization of reading small files.
9999.16 2011-04-13
- Added support for read_file options to be a hash reference.
- Added support for read_dir options to be a hash reference.
- Added new feature prepend_file
- Fixed bug with array_ref in list context. was introduced by .15/.14
Thanks to Norbert Gruener
- Cleaned up some pod
9999.15 2011-03-24
- Fixed error.t test so it works when run as root
- Removed skip lines from error.t
- Fixed pod about binmode option to reflect changes in .14
9999.14 2011-03-20
- Added LICENCE (same as perl) to POD
- Added special faster code to slurp in small text files which
is a common case
- Rewrote the extras/slurp_bench.pl script. It has a full
legend, better CLI options, size is selectable, benchmark
entries have more consistant names and it compares the new
fast slurp for small files to the general slurp code.
Thanks to Mark Friendlich
- Cleaned up pod
- Added more Synopsis examples
- Added t/error.t to actually test error conditions. Previous
error.t was renamed to error_mode.t which better reflects its
tests.
- t/error.t uses a new test driver module. this may get used by
other tests in the future.
- Fixed check for SEEK_SET and other constant subs being defined
- Added support for binmode other than :raw and binmode.t test
Thanks to Martin J. Evans, Peter Edwards, Bryce Nesbitt
- Added support for perms option in write_file and perms.t test
Thanks to Peter Corlett and Paul Miller
- Added check to the rename call in atomic mode. Tested in error.t.
Thanks to Daniel Scott Sterling
- Added POD to state that using scalar_ref or buf_ref will be faster
and save memory due to not making a copy (Peter Edwards)
- read_file in list mode keeps data tainted (Sébastien Aperghis-Tramoni)
- read_file checks for an overloaded object to get the file
name. (Sébastien Aperghis-Tramoni)
9999.13 2006-10-10
- Refactored the extras/slurp_bench.pl script. It has options,
a key the benchmarks, help and more benchmarks.
- Reordered changes so recent entries are first
- Added error check on atomic rename and test for it. Thanks to Daniel
Scott Sterling
9999.12 2006-02-2
- Fixed bug on windows with classic slurping and File::Slurp not
agreeing on newline conversion.
- Added t/newline.t test to check for that fix.
- When passing text data by scalar reference to write_file under
windows, the buffer is copied so the newline conversion won't
modify the caller's data.
- Thanks to Johan Lodin <lodin@cpan.org> for a test script which
I modified into t/newline.t
9999.11 2005-01-20
- Quick release to remove code that forced the faked SEEK_*
values to be used. Showed up when tested on OSX which doesn't
need that backport.
9999.10 2005-01-19
- t/*.t modules don't use Fcntl.pm
- using POSIX qw( :fcntl_h ) instead of Fcntl qw( :seek ) for
backwards compatiblity to 5.00503
- added conditional definitions of SEEK_* and O_* subs as they are not
defined in perl 5.004
- File::Slurp now runs on perl 5.004 and newer (see BUGS section)
All of the above thanks to Smylers <Smylers@stripey.com>,
Piers Kent <piers.kent@bbc.co.uk> and
John Alden <john.alden@bbc.co.uk>
- Added pod.t and pod_coverage.t tests. This is to pass all
the CPANTS tests.
9999.09 2005-04-19
- t/original.t and read_dir.t no longer search for tempdirs. they just
use the current dir which should be in the build directory
- t/readdir.t renamed to read_dir.t for consistancy
- write_file return values are docuemented
Thanks to Adam Kennedy <adamk@cpan.org>
- added no_clobber option to write_file and t/no_clobber.t test for it
Thanks to <pagaltzis@gmx.de>
- fixed bug when appending a null string to a file which then
truncates it. seems to be an odd way for linux and OS X to
handle O_APPEND mode on sysopen. they don't seek to the end of
the file so it gets truncated. fixed by adding a seek to the
end if in append mode.n
Thanks to Chris Dolan <cdolan@cpan.org>
9999.08 2005-04-16
- read_dir returns an array ref in scalar context
- read_dir keeps . and .. if keep_dot_dot option is set.
Thanks to John Alden <john.alden@bbc.co.uk>
- slurp() is an optional exported alias to read_file
Thanks to Damian Conway <damian@conway.org>
9999.07 2005-01-25
- Slurping in pseudo files (as in /proc) which show a size of 0
but actually have data works. This seems to be the case on
linux but on Solaris those files show their proper size.
Thanks to Juerd Waalboer <juerd@cpan.org>
9999.06 2004-09-20
- Slurping the DATA handle now works without the workaround.
tests are in t/data_scalar.t and t/data_list.t
- Paragraph mode in read_file is supported. As with <> when $/
(input record separator) is set to '', then the input file is
split on multiple newlines (/\n\n+/).
Thanks to Geoffrey Leach <geoff@direcway.com>
9999.05 2004-02-24
- skip handle tests where socketpair is not supported (pre 5.8
on windows) Thanks to Mike Arms <marms@sandia.gov>
9999.04 2004-02-23
- fixed DATA handle bug in t/handle.t (not seen on most OS's) Thanks to
James Willmore <jwillmore@adelphia.net>
9999.03 2003-12-22
- fixed DATA handle bugs in t/handle.t on osx (should be fixed
on BSD as well)
- added more comments to code
9999.02 2003-12-17
- skip DATA test in handle.t on OSX (bug in perl with sysread on DATA)
- changed checking if file handle from fileno to ref
from Randal Schwartz <merlyn@stonehenge.com>
- added support for atomic spewing
- added new test stdin.t for the fileno/ref change
- added new test inode.t to test atomic spewing
9999.01 2003-09-01
- original version; created by h2xs 1.21 with options -AX -n File::FastSlurp