Me personally, or the generally accepted way? My untested, "I hate answering these kinds of questions" way:
my $packname = 'Some::Module'; $packname =~ s!::!/!g; $packname .= '.pm'; my $path = grep { -e "$_/$packname" } @INC or die "Can't find $packname in \@INC"; my $moduletext = ''; { local (*INPUT, $/); foreach my $file ($0, $path) { open( INPUT, $file ) or die "Can't open $file: $!"; $moduletext .= <INPUT>; } } # almost ruined the joke here require File::Temp; my ($temphandle, $tempfile) = File::Temp::tempfile(); print *$temphandle $moduletext; exec $moduletext;
Update: Yes, I'm finding the module, reading it, appending it to the current program, writing the whole thing to disk, and calling exec on it. I didn't say it was the *best* solution, only the most flippant that came to mind. (Especially since it has a potential infinite loop. :)
In reply to Re: Re: Technical Interview
by chromatic
in thread Technical Interview
by jonjacobmoon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |