$/ = "\n-"; open INPUT, "lp.attr" or die "... $!"; # or whatever while () { chomp; my ($name,$attr) = split /\s*:\s*/, $_, 2; $name = "-$name" if $. != 1; # the first record has a - my @attrs = split /,\s+/, $attr; $CONFIG{$name} = (@attrs == 1) ? $attrs[0] : \@attrs; } close INPUT;