Thanks everyone, I was able to complete it, here is the the final product
#!/usr/local/bin/perl
open my $FILE, '<', 'rapipago.txt' or die "Cannot open file1.txt: $!";
use strict;
use warnings;
use feature 'say';
while (my $text = <$FILE>) {
chomp $text;
my @cums = (0);
my @offs = ( 17, 6, 31, 3, 3 );
my @cums = ( 0 );
push @cums, $_ + $cums[ -1 ] for @offs;
substr $text, $_, 0, q{-} for reverse @cums[ 1 .. $#cums ];
say $text;
}
Now I have another question, is there a way that instead of printing with say, the results prints on another file, or the program modifies my first file with the result?