sub doSomethingX { my $string = shift; $string =~ tr/foo/X/; return doSomething($string); } sub doSomethingY { my $string = shift; $string =~ tr/foo/Y/; return doSomething($string); } sub doSomething { my ($var) = shift; print $var; }