I was wondering why scripting languages (python,php,ruby,perl) don't have pointers such as C/C++,Objective-C so on?
Because pointers, while very versatile, are a pain-in-the-ass source of bugs. The whole point of higher-order languages is abstraction of dangerous or verbose constructs into safer and shorter ones: you trade power for ease of development. Thus, for example, arrays in dynamic languages all know how to allocate themselves, free themselves, and even resize themselves, so the programmer does not need to worry about it (and can't mess it up). It is the same reason why we don't normally program in assembly unless we really really want to control every cycle of the processor: too verbose, too easy to make a mistake (which is why C/C++, Objective-C and so on exist in the first place). Dynamic languages are a step further in the same direction.
Why Scripting (Dynamic) Languages Don't Have Pointers?