my $equation = '979x + 87y - 8723z = 274320'; my @parts = ($equation =~ /^(?:(.*?)([xyz]))+/i); #### @parts = ('979', 'x', ' + 87', 'y', ' - 8723', 'z'); #### @parts = (' - 8723', 'z'); #### my $equation = '979x + 87y - 8723z = 274320'; my @parts = ($equation =~ /^(?:(.*?)([xyz]))+(.*)=(.*)$/i); #### @parts = ('979', 'x', ' + 87', 'y', ' - 8723', 'z', ' ', ' 274320'); #### @parts = (' - 8723', 'z', ' ', ' 274320');