in reply to Re: Technical Interview
in thread Technical Interview

How would you rewrite a use statement without using the word "use"?

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. :)

Replies are listed 'Best First'.
Re: Re: Re: Technical Interview
by chip (Curate) on Dec 28, 2001 at 02:04 UTC
    Pardon me, but...

    What the HELL is that?

    UPDATE: OK, now I know what it is. But, frankly, if someone gave that answer in an interview, I'd send them home ... after first trying to recruit them for my pet open source projects. I don't want somebody quite that contrary on a paying job, you see....

        -- Chip Salzenberg, Free-Floating Agent of Chaos