The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

NAME

File::Slurper::Shortcuts - Some convenience additions for File::Slurper

VERSION

This document describes version 0.005 of File::Slurper::Shortcuts (from Perl distribution File-Slurper-Shortcuts), released on 2021-08-02.

SYNOPSIS

 use File::Slurper::Shortcuts qw(modify_text modify_binary);
 modify_text("dist.ini", sub { s/One/Two/ });

DESCRIPTION

FUNCTIONS

modify_text

Usage:

 $orig_content = modify_text($filename, $code, $encoding, $crlf);

This is File::Slurper's read_text and write_text combined. First, read_text is performed then the content of file is put into $_. Then $code will be called and should modify $_ to modify the content of file. Finally, write_text is called to write the new content. If content ($_) does not change, file will not be written.

If file can't be read with read_text() an exception will be thrown by File::Slurper.

This function will also die if code does not return true.

If file can't be written with write_text() an exception will be thrown by File::Slurper.

Return the original content of file.

Note that no locking is performed and file is opened twice, so there might be race condition etc.

modify_binary

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/File-Slurper-Shortcuts.

SOURCE

Source repository is at https://github.com/perlancar/perl-File-Slurper-Shortcuts.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=File-Slurper-Shortcuts

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

SEE ALSO

File::Slurper::Temp also provides modify_text and modify_binary.

File::Slurper

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021, 2019, 2018 by perlancar@cpan.org.

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