관리-도구
편집 파일: Changes
Revision history File::Slurp 9999.32 2020-06-30 - Re-release after fixing MANIFEST 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