Это не так просто, как вам нравится, но быть простым, чтобы быть коротким, не всегда должно быть целью.
Вы можете открыть файловый дескриптор строки (как скалярную ссылку) и обработать его как файл для чтения первой строки:
my $string = "Fred\nWilma\Betty\n";
open my($fh), "<", \$string or die ...; # reading from the data in $string
my $first_line = <$fh>; # gives "Fred"
close $fh;
Если бы вы действительно хотели, я думаю, вы могли бы сократить это до выражения:
$hash{$key} = do { open my($fh), "<", \$string; scalar <$fh> };
Независимо от того, какой метод вы выберете, вы всегда можете создать подпрограмму для возврата первой строки, а затем использовать вызов подпрограммы в своем хэш-присваивании.
sub gimme_first_line { ... }
$hash{$key } = gimme_first_line( \$string );