my $result =
qx/sed -i.bak -e "$line_number,${line_end_number}d;${last_line}d" $docname/;
Там, где разделенная линия избегает горизонтальной полосы прокрутки на SO; в противном случае это будет одна строка.
Или, поскольку неясно, есть ли какие-либо выходные данные для захвата:
system "sed -i.back '$line_number,${line_end_number}d;${last_line}d' $docname";
Или вы можете сами разбить это на аргументы:
system "sed", "-i.back", "$line_number,${line_end_number}d;${last_line}d", "$docname";
Это, как правило, безопаснее, поскольку оболочка не получает возможности вмешиваться в интерпретацию аргументов.