use File::Spec::Functions qw( catdir ); sub lean_forw { my $s = @_ ? $_[0] : $_; $s =~ tr!\\!/!; return $s; } lean_forw(catdir('/home/foo/abc', 'bar\baz'))