Originally Posted by iamtinski
Can someone explain what is the difference between perl and shell scripting?
The difference is the target use.
The shell is primarily an interactive command function. It is only secondarily a programming interface for stored commands.
Perl CAN access commands... but it is awkward at doing so, and is not that flexible. And if you think the "system" library (or the back tics) are uses--- they are implemented using the shell, not perl. Both spawn off a /bin/sh (or bash) to actually process the command.
Perl is primarily a programming language. As such it has much more complete I/O (direct implementation of hash tables and files, hashes of arrays, arrays of hashes, hashes of hashes, arrays of arrays..., network access (both through the normal system calls and through modules), file access, even an object programming model. In addition, it has the possibility of directly accessing external libraries (given the proper interface definitions of course).
The perl interpreter can even be embedded within other applications.