Oilers 4, Canucks 2: David Perron recorded his second career hat trick as Edmonton snapped a seven-game road losing streak by defeating Vancouver for the first time this season.Fourth-liner Jesse Joensuu netted the go-ahead goal early in the third period and Nail Yakupov notched a pair of assists for his fourth multi-point performance of the season. Ilya Bryzgalov finished with 25 saves for the Oilers, who have won two in a row following a six-game winless stretch (0-5-1).Jordan Schroeder scored twice just hours after being recalled from Utica of the American Hockey League. Roberto Luongo turned aside 16 shots for the Canucks, who outscored Edmonton by a 12-3 margin in the three previous meetings this season.The Oilers seized a 3-2 lead at 2:20 of the third period as veteran Ryan Smyth settled the puck following Taylor Hall's point shot before feeding Joensuu, who tucked it between the pads of Luongo. Alex Burrows hit the post with under five minutes remaining and Perron recorded his career-high 22nd goal of the season and second hat trick versus Vancouver with an empty-net tally.Perron opened the scoring by converting a 2-on-1 rush at 9:11 of the first period before Schroeder answered by banking the puck off both defenseman Corey Potter's right skate and Bryzgalov's stick and into the net. Perron scored from the doorstep to regain the lead five minutes later, but Schroeder benefited from another carom off Potter to tie the game at 2:39 of the second session.GAME NOTEBOOK: Perron scored 21 goals during the 2011-12 season with St. Louis. ... Vancouver captain Henrik Sedin missed his fourth straight contest with a rib injury. ... Edmonton RW Jordan Eberle saw his five-game point streak come to an end. The 23-year-old recorded four goals and two assists in that stretch.