[sorry about that first post, I got ^X-happy]

On Nov 5, Dan Anderson said:

>use Data::Dump qw(dump);
>foo->bar qw(foo bar);

>Am I correct in assuming that if I have a subroutine foo (or method if
>called with a package name), and I use qw() it takes all words seperated
>by spaces, and passes them in as arguments.
>
>So: foo->bar qw(foo bar); is equivalent to foo->bar("foo","bar"); ?

The qw() operator changes your source code at compile-time, which is why
you can say

  $object->method qw(...)

when ordinarily you'd need

  $object->method(...)

When you use qw(this that those), Perl changes that to

  ('this', 'that', 'those')

Perl splits the qw(...) on spaces, and returns the raw data,
single-quoted.  This means no variables.  You can't even escape a space:

  qw( abc\ def )

becomes

  ('abc\\', 'def')

That is all.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.
[  I'm looking for programming work.  If you like my work, let me know.  ]





-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to