$ # String longer than 6 characters $ perl -e '$a="1234567"; $b=sprintf("%6s", substr($a, 0, 6)); print $b;' 123456 $ # String shorter than 6 characters $ perl -e '$a="123"; $b=sprintf("%6s", substr($a, 0, 6)); print $b;' 123 $ # Example of results from OP's code $ perl -e '$a="1234567"; $b=substr($a, 0, 6); print $b;' 123456 $ perl -e '$a="123"; $b=sprintf("%6s", substr($a, 0)); print $b;' 123