in reply to What's your programming style?

Is this used for parsing or generating paths?

If it's used for parsing paths, then the fundamental assumption that a system only has one path separator is flawed. (Windows accepts both \ and /.)

If it's for generating paths, providing the separator is a very poor interface. See Path::Class for a better interface.