Just to give you the basic stuff... shift removes the first element from an array and returns it. If no array is provided, it uses @_. So, yes, they are both kinda equivalent except that with my ($p1,$p2,$p3) = @_; you drop the remaining elements in the array and with shifting, you preserve the remaining elements.(my bad)</B<
Greetz
Beatnik
... Quidquid perl dictum sit, altum viditur.