in reply to Writing automatic code from sql

I don't understand what you want, and your code helps little. Maybe seeing the table definition and the table contents would help.

I interpret your task to wanting to run code that is stored as a string in the database. Does DBIx::VersionedSubs sound like a solution to your problem?

Replies are listed 'Best First'.
Re^2: Writing automatic code from sql
by speckled (Novice) on Oct 11, 2011 at 11:55 UTC
    What I want is to create calls to defined packages or subs from strings defined in an sql table.
    Given three varchar columns : PACKAGE, SUB, PARAMS I want to create the following code
    PACKAGE->SUB(PARAMS);

      So just use

      use strict; my ($package,$sub,@params) = ("MyPackage","hello_world",'Hello','World +'); $package->$sub(@params); package MyPackage; use strict; sub hello_world { my ($self,@args)=@_; print "In My Package: $_\n" for @args; };
        Here's the code that works:

        my %h; while(my $r = $st->fetchrow_hashref()) { my $mod = $r->{'Module'}; my $sub = $r->{'Subroutine'}; my $par = $r->{'Params'}; $h{$r->{'VarName'}} = sub { $mod->$sub(eval "$par"); }; }
        You've got my +! Thanks again.