Regional public security minister Igor Orlov told Itar-Tass news agency: "There were fireworks launched at the scene, and one hit the plastic ceiling, setting all ablaze. People panicked and succumbed to burns, general crush and gas poisoning."
Russian state-run TV channel Vesti-24 showed bodies piled in the street outside the club.
Perm has a population of 1.2 million and is the sixth largest city in Russia.
Svetlana Kuvshinova, who was in the club when the fire began, said the flames "took seconds to spread".
"It was like a dry haystack. There was only one way out. They nearly stampeded me," the Associated Press quoted her as saying.
Another eyewitness told local TV: "When the merry-making started, when they were warming up, they set off fireworks.
"When I turned back, I saw drops falling off the ceiling and then there was a lot of smoke. Later this huge flame was moving along the ceiling," the unnamed woman said.
A spokesman for the prosecutor-general's main investigative unit told Itar-Tass that it was not a terrorist attack.
"We are talking about a failure to observe fire regulations," he said.
The Russian government has set up a special commission to deal with the incident.
Regional officials said that fireworks used at the party were too big for closed premises and were intended for outdoor use.
Dmitry Peskov, spokesman for Russian Prime Minister Vladimir Putin, said two planes equipped to transport people with serious burns were being sent to Perm.
Government officials were also leaving for the city, he said.
The BBC's Tom Esslemont, in Moscow, says Russia has a very poor fire safety record with hundreds of people dying in similar incidents every year.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.