my $string = <>; my %substrings; $string =~ /(.+)(?{ $substrings{ $1 } = 1 })(*FAIL)/;