Yes you can use substr. You just have to use a negative offset. I use it regularly for manipulating DNA sequences. Let's say I have a file that contains the following sequence:
tcatccatcc
to return the last 8 characters, which would be atccatcc, I use:
perl -ne 'print substr($_, -9, 8), "\n"' dna
Hope this helps.