A lot shorter, less memory intensive, and probably faster; #!/usr/bin/env perl use warnings; use strict; my $string = ''; my $last = ''; while (<>) { if ($last) { $string = &longest_substring_in_common($_,$last); } else { $last = $_; } } print "$string\n"; sub longest_substring_in_common { my ($a,$b) = @_; foreach my $i ( 0 .. length($a) ) { unless (substr($a,0,$i) eq substr($b,0,$i)) { return substr($a,0,($i-1)); } } } -- xplanet -body earth -transpng a.png -geometry "300x300-0+0" -origin sun My politics : http://satp.blogspot.com Programmer
Attachment:
signature.asc
Description: Digital signature