use Test::More tests => 3; my $x = "AB:APPLE:BOY:ZOO:ZOOM"; ok isSubset('APPLE:ZOO' => $x); ok !isSubset('BOY:GIRL' => $x); ok isSubset('AB:BOY:ZOOM' => $x); sub isSubset { my ($small, $big) = @_; $small =~ s{:}{:(?:[^:]+:)*}xg; return($big =~ /^(?:[^:]+:)*$small(?::[^:]+)*/); }