in reply to Re: Removing digits until you see | in a string
in thread Removing digits until you see | in a string

In your update, you can block the split process to the first pipe char:
my ($index, $rest) = split /\|/, $str, 2; $data_hash{$index} = $rest;

Flavio
perl -ple'$_=reverse' <<<ti.xittelop@oivalf

Don't fool yourself.