use strict;
my $str = 'http://www.youtube.com/watch?v=My2FRPA3Gf8
http://youtu.be/My2FRPA3Gf8
https://youtube.googleapis.com/v/My2FRPA3Gf8
http://www.youtube.com/embed/Ab25nviakcw
http://www.youtube-nocookie.com/v/Ab25nviakcw?version=3&hl=en_US
http://www.youtube.com/watch?feature=player_embedded&v=Ab25nviakcw#
http://vimeo.com/25451551
http://player.vimeo.com/video/25451551
//player.vimeo.com/video/25451551
';
my $regex = qr/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com))\/(video\/|embed\/|watch\?\S*v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/p;
my $subst = '';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html