Alexander Edler scored for the Canucks (30-36-9), who were eliminated from the playoff contention on March 23. Ryan Miller made 30 saves.
Moments after Hutchinson made a save on Sven Baertschi's shorthanded chance, the Jets worked the puck down low in the Canucks zone and Perreault sent it out front to Lowry for his 14th goal of the season.
"It was a tough one," Baertschi said. "The D-man kind of gave me the lane to the net, so I took it and the goalie made a good save there. I tried to pick a corner, but he made a good save and obviously it went the other way right away."
Edler scored with 22 seconds left in the first period on a shot from the point to give the Canucks a 1-0 lead.
Perreault scored a power play-goal at 13:51 of the second period to make it 1-1.
Canucks forward Brock Boeser, who signed an entry-level contract on Saturday after the University of North Dakota was eliminated from the NCAA tournament, nearly had his second NHL goal in as many days in the first period, but Mark Scheifele lifted his stick to prevent what would have been an easy tap-in.
"I finally started to settle down during the day today and just wanted to stay calm, stay poised and show up to the rink today and work as hard as I could and help contribute in anyway," Boeser said.