Regular expressions are used to match, change or translate strings against a pattern. In a traditional programming language, you will need to write a routine that scans your string and then do whatever you need to do. This approach is acceptable if the pattern is fairly simple. However, if your pattern is complicated, you will have to write a complicated routine to do your matching and comparing and translating.
Perl was originally developed with an emphasis on system management and text handling. However, as it was revised, other features were included such as regular expressions, signals and network sockets. If you have programming experience in any language, you can easily learn Perl.
A client and server program works this way. Simply put, a client requests a service and a server services the request. There are several ways to do this. The crudest will be to call a program within Perl and pass the parameters during the call. Another way is to use pipes.
A program can call another program but the input to the called program will be passed through the STDIN of the other program. Both methods are crude and allow only for simple passing of input and output. Another way to do this is using sockets.
Sockets allow two programs to communicate with each other. The server binds a port on the machine. The client connects to that port to communicate with the server,