in reply to Error Correction

it gives me an error of uninitialized value in $confID and $confPIN

Generally, you can use defined to test whether a variable holds a defined (initialized) value.

And depending on what you want to happen in that case, you could either skip the rest of the loop body

while (<CONF_ID>){ my ($confID, $confPIN) = split ' '; next unless defined $confID; ... }

or set the variables to some defined but empty value, e.g.

while (<CONF_ID>){ my ($confID, $confPIN) = split ' '; $confID = '' unless defined $confID; ... }

just in case you wanted to substitute XXXXXX with nothing, etc., when there's an empty line in CONF_ID...