Да, это регулярное выражение будет работать.Вы можете использовать его следующим образом:
$string =~ m/ticket[ \t]+(number|#)?[: \t]+([0-9]+)/;
my $ticket_no = $2;
Обратите внимание, что вы захотите как-то обработать случай, когда регулярное выражение не соответствует, поскольку в этом случае $ticket_no
будет неопределенным.