#!/usr/bin/env perl use strict; use warnings; use feature 'say'; my @queue = '123456789'; while (@queue) { $_ = shift @queue; say if eval == 100; while ( /\d+?/g) { next if (!$' || $' =~ /\+|\-/); push @queue,("$`$&+$'","$`$&-$'"); } }