Perl não tem uma função predefinida que permite obter os fatores primos de um número inteiro , mas usando recursão e os números de base -10 , você pode escrever sua própria função para realizar a tarefa . Usando a função " mapa " permite-lhe de forma recursiva executar um bloco de código em uma lista. Usando o número inteiro como a lista , você pode repetidamente extrair fatores primos dele para pegá-los todos , em seguida, usar a função " sprintf " para exibi-los na tela separados por um espaço para torná-los mais fáceis de ler . Instruções 
 1 
 Abra um arquivo de programa Perl. Digite o seguinte código: 
 
 sub fator { 
 
 for ($ i = 0; $ i < @ _ ; $ i + +) { 
 
 $ num = @ _ [ ,"$ i ]; 
 
 print " Os fatores primos de @ _ [$ i] são: "; 
 
 mapa imprimir { sprintf ( "% s" , comprimento) , ""} getNext ( 1x $ num ); 
 
 print " \\ n"; } 
 
 
 
 } 
 
 isso cria uma função simples chamado " fator " que leva qualquer número de parâmetros e imprime os fatores primos , cada um separado por um espaço. Ele chama a função " getNext " para realmente calcular os fatores primos 
 2 
 Digite o seguinte código: . 
 
 Sub getNext { 
 
 if ($ _ [0 ! ( ? .. +) ] ~ /^ \\ 1 + $ /) { 
 
 retornar @ _ ; 
 
 } else { 
 
 retorno mapa getNext ( $ _ ) , ( "$ 1" , $ _ [0] = ~ s /$ 1/1/g , $ _ [0]) [0 , -1 ]; 
 
 } 
 
 } < br > 
 Isso cria a função " getNext " , que verifica se um inteiro é um número primo. Se assim for, ele retorna o número da função " fator " a ser impressa. Se não, ele chama a si mesmo de forma recursiva para encontrar o próximo menor primo 
 3 
 Digite o seguinte código: 
 
 fator (45) ; 
 
 fator. ( 3300,24 ); 
 
 Estas duas linhas testar a função para obter fatores primos . A primeira linha tem apenas um parâmetro , por isso só mostra uma linha. Ele imprime 3 , 3 e 5 como fatores principais. A próxima linha recebe os fatores principais para dois números. Para 3300 , ele imprime 2, 2, 3, 5, 5 e 11 , e para 24 , ele imprime 2, 2, 2 e 3 . 
 4 
 Salve o programa Perl.