#!/usr/bin/env perl use strict; use warnings; $^I = '.bak'; my $head_len = 5; my $foot_len = 3; while (<>) { chomp; print substr($_, $head_len, length($_) - $head_len - $foot_len), "\n"; } #### $ ls -l pm_1076973.* -rwxr-xr-x 1 ken staff 210 5 Mar 08:50 pm_1076973.pl -rw-r--r-- 1 ken staff 87 5 Mar 08:46 pm_1076973.txt #### $ cat pm_1076973.txt 12345... content ...123 12345... more content ...123 12345... even more content ...123 #### $ pm_1076973.pl pm_1076973.txt #### $ ls -l pm_1076973.* -rwxr-xr-x 1 ken staff 202 5 Mar 08:56 pm_1076973.pl -rw-r--r-- 1 ken staff 63 5 Mar 08:56 pm_1076973.txt -rw-r--r-- 1 ken staff 87 5 Mar 08:46 pm_1076973.txt.bak #### $ cat pm_1076973.txt ... content ... ... more content ... ... even more content ... #### $ cat pm_1076973.txt.bak 12345... content ...123 12345... more content ...123 12345... even more content ...123