#!/usr/bin/perl -w # adds a string after a line matching pattern from each file. # usage: aline PATTERN STRING FILES use Tie::File; use strict; my $file; my $k; my @lines; my $pat = shift || die "no pattern"; my $str = shift || die "no string to add"; foreach $file (@ARGV) { tie(@lines, 'Tie::File', "$file") or die "$file: can't update"; $k = 0; for (@lines) { if (/$pat/) { splice (@lines, $k+1, 0, $str); last; } $k++; } untie @lines; } exit(0);