table of contents
File::Inplace(3) | User Contributed Perl Documentation | File::Inplace(3) |
NAME¶
File::Inplace - Perl module for in-place editing of files
SYNOPSIS¶
use File::Inplace; my $editor = new File::Inplace(file => "file.txt"); while (my ($line) = $editor->next_line) { $editor->replace_line(reverse $line); } $editor->commit;
DESCRIPTION¶
File::Inplace is a perl module intended to ease the common task of editing a file in-place. Inspired by variations of perl's -i option, this module is intended for somewhat more structured and reusable editing than command line perl typically allows. File::Inplace endeavors to guarantee file integrity; that is, either all of the changes made will be saved to the file, or none will. It also offers functionality such as backup creation, automatic field splitting per-line, automatic chomping/unchomping, and aborting edits partially through without affecting the original file.
CONSTRUCTOR¶
File::Inplace offers one constructor that accepts a number of parameters, one of which is required.
- file
- The one required parameter. This is the name of the file to edit.
- suffix
- The suffix for backup files. If not specified, no backups are made.
- chomp
- If set to zero, then automatic chomping will not be performed. Newlines (actually, the contents of $/) will remain in strings returned from "next_line". Additionally, the contents of $/ will not be appended when replacing lines.
- regex
- If specified, then each line will be split by this parameter when using "next_line_split" method. If unspecified, then this defaults to \s+.
- separator
- The default character used to join each line when replace_line is invoked with a list instead of a single value. Defaults to a single space.
INSTANCE METHODS¶
- $editor->next_line ()
- In scalar context, it returns the next line of the input file, or undef if there is no line. In an array context, it returns a single value of the line, or an empty list if there is no line.
- $editor->replace_line (value)
- Replaces the current line in the output file with the specified value. If passed a list, then each valie is joined by the "separator" specified at construction time.
- $editor->next_line_split ()
- Line "next_line", except splits based on the "regex" specified in the constructor.
- $editor->has_lines ()
- Returns true if the file contains any further lines.
- $editor->all_lines ()
- Returns an array of all lines in the file being edited.
- $editor->replace_all_lines (@lines)
- Replaces all remaining lines in the file with the specified @lines.
- $editor->commit ()
- Completes the edit operation and saves the changes to the edited file.
- $editor->rollback ()
- Aborts the edit process.
- $editor->commit_to_backup ()
- Saves edits to the backup file instead of the original file.
AUTHOR¶
Chip Turner, <chipt@cpan.org>
COPYRIGHT AND LICENSE¶
Copyright (C) 2005 by Chip Turner
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6.0 or, at your option, any later version of Perl 5 you may have available.
POD ERRORS¶
Hey! The above document had some coding errors, which are explained below:
- Around line 283:
- You forgot a '=back' before '=head1'
- Around line 285:
- '=item' outside of any '=over'
2005-01-28 | perl v5.16.3 |