I would simply use
my ($month) = $date =~ /^\d{4}-(\d{2})-/, unless you want to verify that the string is formatted properly.
Update: honestly, this isn't really a job for a regex. There's no "pattern" to match, you simply want to get the 5th and 6th characters, because the string is in the same format every time.
substr($date, 5, 2) accomplishes this.