#!/usr/bin/perl use strict; use warnings; my @factors = Factor_It( 20 ); print "$_\n" for @factors; sub Factor_It { my $number = shift; my @factors; for ( 2 .. int $number / 2 ) { push @factors, $_ unless $number % $_; } return (1, @factors, $number); }