while(<*>) { /^$0$/ && next; open my $IN, $_ or die "$_: $!";; open my $OUT,">$_.bak" or die "$_.bak: $!"; print $OUT $_, $/, (<$IN>)[0..3]; }