The incident happened in Farmfoods, in South Street, Perth, at around 4.50pm yesterday.
A man entered the shop and threatened staff with a knife before making off with a three-figure sum of money, police said.
He is described as Asian or North African, around 5ft 10in, with short dark hair and stubble on his face.
Officers said he has a distinctive gold tooth in the upper front left of his mouth and was wearing a cream coloured t-shirt with a metallic-style pattern under a black leather jacket.
The hold-up came while a number of customers were still in the shop and police are appealing for any witnesses who may have seen the man in Farmfoods or leaving the area.
Meanwhile, police are investigating a theft from Game in Murraygate, Dundee, during which a member of staff was also threatened with a knife.
Two men entered the shop at around 6pm on Thursday and stole several items. When one of the men was challenged by a member of staff he took out a knife, officers said.
One of the men is in his 40s, with short greyish hair. He was wearing a white t-shirt with a pattern on the front and a pair of long shorts. He was also carrying a white plastic bag.
The second man is in his 20s, with a shaved head. He was wearing a dark baggy jacket and carrying a large blue Tesco 'bag for life'.
Police are appealing for any witnesses to contact them.