my $str = 'XXXX - AAAA - - XXXXXXX XX - XXXXX XX TNBBBBB '; #### my $data = ( 'keyA' => 'AAAAA', 'keyB' => 'BBBBB' ); #### my $str = "XXXX - 12345 - - XXXXXXX XX - XXXXX XX TN67890"; #### use strict; use warnings; use 5.010; my $str = 'XXXX - 12345 - - XXXXXXX XX - XXXXX XX TN6789'; my @pieces = split /\s+/, $str; my $val1 = $pieces[2]; (my $val2 = $pieces[-1]) =~ s/^TN//; say $val1; say $val2; my %hash = ( 'keyA' => $val1, 'keyB' => $val2 ); say %hash; --output:-- 12345 6789 keyB6789keyA12345