>>>>> "D" == Dermot  <paik...@gmail.com> writes:

  D> I hope Uri will forgive me but I will expand a little.

partially forgive! :)

  D>  $received_arg = @_;

  D> You want to shift the argument list but you are actually assigned the
  D> argument array to a scalar value and that will render it's size (1).
  D> You passed Mail_worker a reference to a hash so that hash is now a
  D> single scalar value. Then in your subroutine (called mail_worker, you
  D> dropped the case in your example) after assigning the length of the
  D> argument list to $recieved_arg you attempt to deference it, causing
  D> the error. You could have kept the hash as a reference

why do you say she wants to shift @_? that is the lesser style of
getting an arg from @_. the better way IMNSHO is assigning to a
list. shift is slower, doesn't work well for multiple args (one shift
per statement) and it modifies @_ unnecessarily. there are times when it
is useful but the primary method should be a list assignment.

uri

-- 
Uri Guttman  ------  u...@stemsystems.com  --------  http://www.sysarch.com --
-----  Perl Code Review , Architecture, Development, Training, Support ------
---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to