in reply to Removing delimiters

I'm not sure why everyone wants to use split when you really just want one of the parts.
$_ = "foo::bar"; my ($head) = /^.*?::/; my ($tail) = /::.*/;
That said, if you need them both of them at various times, you should probably split on :: to an array when you read the file and then pass a reference to that around.

Makeshifts last the longest.