The use version creates a tied perl hash,
employing caching ... while the other version doesn't bother to do that and simply matches on a scalar.
perl -d:Trace -V:ccflags
>> Config.pm:1012: foreach(@_){
>> Config.pm:1013: config_re($_), next if /\W/;
>> Config.pm:1014: my $v=(exists $Config{$_}) ? $Config{$_} : 'UNKNOW
+N';
>> Config.pm:988: exists($_[0]->{$_[1]}) or
>> Config.pm:882: return $_[0]->{$_[1]} if (exists $_[0]->{$_[1]})
+;
>> Config.pm:885: my($value, $start, $marker, $quote_type);
>> Config.pm:887: $quote_type = "'";
>> Config.pm:889: if ($_[1] eq 'byteorder') {
>> Config.pm:929: $marker = "$_[1]=";
>> Config.pm:932: $start = index($config_sh, "\n$marker$quote_type")
+;
>> Config.pm:934: if ($start == -1) {
>> Config.pm:938: return undef if ( ($start == -1) && # in case it'
+s first
>> Config.pm:940: if ($start == -1) {
>> Config.pm:947: $start += length($marker) + 2;
>> Config.pm:949: $value = substr($config_sh, $start,
>> Config.pm:956: if ($quote_type eq '"') {
>> Config.pm:963: $value = undef if $value eq 'undef';
>> Config.pm:964: $_[0]->{$_[1]} = $value; # cache it
>> Config.pm:965: return $value;
>> Config.pm:1015: $v='undef' unless defined $v;
>> Config.pm:1016: print "$_='$v';\n";
ccflags='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAV
+E_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -D
PERL_MSVCRT_READFIX';
>> Config.pm:1012: foreach(@_){
Maybe i'm wrong ...
-
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.
|