in reply to Standardized Template

Why are you hand-parsing this stuff? Check out CPAN for better solutions. A quick search found AnyData::Format::Passwd and Parse::Passwd as two very promising possibilities. Others might include Unix::PasswdFile or Passwd::DB, though I haven't actually read their POD.

Once you use a module for the actual parsing, I suspect your issue will disappear.

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

... strings and arrays will suffice. As they are easily available as native data types in any sane language, ... - blokhead, speaking on evolutionary algorithms

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.