in reply to -pi -e argv repeater
Perhaps you'd like
use constant PIE_NO_BACKUP => ''; sub pie(&$@) { ( my $code, # Code ref local $^I, # PIE_NO_BACKUP, '~', '.bak', etc local @ARGV, ) = @_; local *_; # Protect caller's $_. while (<>) { chomp; $code->(); print($_, "\n"); } } # perl -i -pe 's///' file1 file2 pie { s/// } PIE_NO_BACKUP, 'file1', 'file2'; # perl -i.bak -pe 's///' file? data*.txt pie { s/// } '.bak', map { bsd_glob($_) } 'file?', 'data*.txt';
Untested.
Update: Added missing "\n". Created constant for no backup. Added local *_;.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: -pi -e argv repeater
by jettero (Monsignor) on Feb 02, 2007 at 15:57 UTC | |
Re^2: -pi -e argv repeater
by OfficeLinebacker (Chaplain) on Feb 03, 2007 at 19:08 UTC | |
by ikegami (Patriarch) on Feb 03, 2007 at 19:14 UTC | |
by OfficeLinebacker (Chaplain) on Feb 04, 2007 at 17:13 UTC | |
by BrowserUk (Patriarch) on Feb 04, 2007 at 19:13 UTC | |
by ikegami (Patriarch) on Feb 04, 2007 at 20:09 UTC | |
by OfficeLinebacker (Chaplain) on Feb 04, 2007 at 23:20 UTC | |
by ikegami (Patriarch) on Feb 05, 2007 at 01:25 UTC | |
by BrowserUk (Patriarch) on Feb 05, 2007 at 00:29 UTC | |
|
In Section
Seekers of Perl Wisdom