[ILUG] Perl Problem
John Tobin
tobinjt at netsoc.tcd.ie
Thu Feb 7 21:19:10 GMT 2002
On Thu, Feb 07, 2002 at 07:09:48PM +0000, Gavin McCullagh wrote:
? my @friends = qw(Peter Paul Mary Jim Tim);
? (my $this,my $that) = shift2(@friends);
You're passing the array to shift2 rather than a reference to the
array. shift2 ( \@friends ); will do what you want. As someone else
pointed out predeclaring the functions will solve the problem because
perl then knows to pass a reference rather than the array.
? sub shift2 (\@) {
? return splice(@{$_[0]}, 0, 2);
? }
Down here $_ [0] == "Peter", rather than a reference to @friends.
? Gavin
--
John
"That would preempt a bunch of problems involved in trying to reconstruct
exactly how the Perl 5 parser thinks, which nobody entirely understands."
Larry Wall, 2001/04/20, perl6-language at perl.org
"Finger to spiritual emptiness underlying everything." -- How a Japanese C
manual referred to a "pointer to void".
More information about the ILUG
mailing list