Разбитый на кусочки, вот что происходит:
my @parsedarray = # declare an array, and assign it the results of:
(
$rowcol =~ # the results of $rowcol matched against
m/ # the pattern:
([A-Z]?) # 0 or 1 upper-case-alpha characters (1st submatch),
# followed by
([0-9]+) # 1 or more numeric characters (2nd submatch)
/x # this flag added to allow this verbose formatting
); # ...which in list context is all the submatches
Так что если $rowcal = 'D3'
:
my @parsedarray = ('D3' =~ m/([A-Z]?)([0-9]+)/); # which reduces to:
my @parsedarray = ('D', '3');
Подробные сведения о регулярных выражениях можно найти по адресу perldoc perlrequick (краткое резюме), perldoc perlretut (учебное пособие) и perldoc perlre (все подробности) и различные операции с регулярными выражениями (сопоставление, подстановка, перевод) в perldoc perlop .