I'm new here.
I agree these are fair questions. Answers follow.
1. a.
The problem is that there are roughly a_array_size * b_array_size operations happening here. Bad big o.
1. b.
I'd sort the one array, running through the
other as an unordered list and using a binary search
on the first.
2.
sub reverse_array {
my $ar = shift;
my ( $head, $tail) = ( 0, $#$ar);
while ( $head < $tail) {
($ar->[$head], $ar->[$tail]) =
( $ar->[$tail],$ar->[$head]);
$head++;
$tail--;
}
}
3.
This one is pretty open ended.
It is not clear whether or not the requestors are
under our authorship.
Assuming not.
The requestor initially generates some request.
This is put to a connector which will attempt to identify
the input "language", choose a translator, identify the
default or requested output style, choose
a formatter, and create a unique dialog with these
components.
There will be translators defined for each input "language",
formatters for each output style.
The translators
will convert requests to one "language".
The dialogs
will contain a hopefully much simplified
dialog, a backend,
to talk to the actual datasources.
This is generalized to ease expansion beyond the initial
request. Early implementations should stub out some of
these components.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.