use List::Util qw[ reduce ]; my @in = ( 41888, 41889, 41890, 41892, 41895 ); my @missing; reduce{ push @missing, $a+1 .. $b-1; $b } @in; print @missing; 41891 41893 41894