#!/usr/bin/perl use strict; my ($full, $part) = @ARGV; my ($left) = leftover($full, $part); if (defined($left)) { print "$full - $part = $left\n"; } else { print "$full - $part = undef\n"; } #----------------------------------------------------------- sub leftover { my ($full, $part) = @_; my ($ch); my (@parts) = split('', $part); my ($regx) = join('+.*', @parts); if ($full =~ m{$regx}) { foreach $ch (@parts) { $full =~ s/[$ch]{1}//; } } else { $full = undef; }; return $full; }