in reply to split at pipe character

That looks alright; I've just run it under Win2k, and it says just, what you want it to say:
D:\work\perl\Net\ldap>perl -w use strict; my $id = 'lcl|CHLMU1894'; my @code = split(/\|/,$id); print $code[1]; ^Z CHLMU1894

Best regards,
perl -le "s==*F=e=>y~\*martinF~stronat~=>s~[^\w]~~g=>chop,print"