On Fri, Jan 19, 2001 at 03:34:24PM +0100, Julien Quint wrote: > #!/usr/bin/perl -w > > use strict; > > while (<>) { > chomp; > my $longest = ""; > while (/./g) { > my $match = $&; > my $substr = $'; > ($match, $substr) = ($match . $&, $') while $substr =~ /^[^$match]/; > $longest = $match if length($match) > length($longest); > } > print "$longest\n"; > } > > __END__ > > I guess this version is more perlish. There's no need to disassemble the string yourself, one regex will do: #!/opt/perl/bin/perl -w use strict; my $max = 0; $_ = shift; while (/\G(.)(?=((?:(?!\1).)*))/g) {$max = $1.$2 if length $max < length $1.$2} print $max, "\n"; __END__ ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe