http://qs1969.pair.com?node_id=27245


in reply to RE: mybooks.pl
in thread mybooks.pl

I liked your idea of using a data stucture of references, after all, I was trying to do something similar from the start, but my lack of Perl skill got in the way. Anyway, I put it into my code and there was a problem, but I fixed it by writing $actions[$menu-1] instead of $actions[$menu] since the options in the menu number from 1 to 5 while the elements of array @actions number from 0 to 4. However, I still get the following error:

Can't use string ("\&addwant") as a subroutine ref while "strict refs" in use at mybooks.pl line 50, <STDIN> chunk 1.

Is there any way to fix this other than by not using strict?

Thanx.

Zenon Zabinski | zdog | zdog7@hotmail.com

Replies are listed 'Best First'.
RE: RE: RE: mybooks.pl
by btrott (Parson) on Aug 10, 2000 at 09:32 UTC
    Yes, the array of code references should not have been created using qw. That string-ifies the contents of the array, which means that you end up with an array containing ("\&addwant"), etc.

    Which isn't what you want. You want:

    my @actions = (\&addwant, \&addhave);