use 5.012.02; use strict; use warnings; my @input_string_array = qw/this that and all manner of other/; my %output_hash; foreach my $iterator ( 0 .. $#input_string_array ) { $output_hash{ $iterator + 1 } = join " ", map { ord($_) - 33 } split //, $input_string_array[$iterator]; } foreach my $key ( sort keys %output_hash ) { say "$key => $output_hash{$key}"; }