use strict;
my $str = 'The problem is, if the page contains a PDF linked to another page (not my own website), example https://othersite.example.com/whatever.pdf, it becomes https://othersite.example.com/whatever_SPANISH.pdf which isn\'t valid on other people\'s sites. I want to ignore offsite links and only change URLs on my site.
So what I would like to do is look for the string: https://example.com/documents/en/whateverfilename.pdf and pull that file name out and change it to https://example.com/documents/es/whateverfilename_SPANISH.pdf (Switching the en to es and also appending the _SPANISH to the end of the PDF filename.
';
my $regex = qr~\b(https?://[^\s/]+/documents/)en/([^\s/]+)\.pdf\b~p;
my $subst = '$1es$2_SPANISH.pdf';
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