in reply to reading data from Excel sheet using column/row names

Assuming that the column Name is in the first row , you can determine the column containing "FirstName" by
my $header_Row = $wks->Range("A:A")->{'Value'}; my ($FirstNameColumn) = grep { $header_Row->[$_ - 1] =~ /firstname/ +i} 1..@header_Row; My $currrentRow="18"; Whatever row you are on now my $FirstName = $wks->Cells($currentRow,$FirstNameColumn)->{'Value'};
UNTESTED.

     Syntactic sugar causes cancer of the semicolon.        --Alan Perlis