தாமேயாக்குமை

தாமேயாக்குமை (autovivification) பெர்ள் நிரலாக்க மொழியின் இயங்குநிலையில் (dynamic) தரவுக் கட்டமைப்புகளை (data structures) உயிர்ப்பிக்க அனுமதிக்கும் ஒரு தனிச்சிறப்புப்பெற்ற வசதியாகும். ஒரு நிரலாக்கத்தில் அதுவரை வரையறுக்கப்படாத ஒரு மாறியை மேற்கோளாகக்கருதி அணுகமுயன்றால் தாமாகவே ஒரு மேற்கோள் வகை இனங்காட்டி (reference type variable) உருவாகி அதற்கு நினைவகத்தில் பதிவிடமும் ஒதுக்கப்படும் வசதியையே தாமாகவுயிர்ப்பித்தல் என்கிறார்கள். அதாவது, இல்லாதவோர் இயைபுத் தொகுப்புத் தரவினத்தின் (associative array) உறுப்பையோ அல்லது நினைவடுக்குத் தரவினத்தின் உறுப்பையோ அணுக முற்படும்போது முறையே அவ்வியைபுத் தொகுப்பு அல்லது நினைவடுக்கு உருவாக்கப்பட்டு அணுகப்பட்ட உறுப்புடன் நினைவடுக்கில் அவ்வுறுப்பின் குறியெண் (index) வரையிலான அனைத்து உறுப்புக்களும் உருவாக்கப்பட்டுவிடுகின்றன.

இது பிற உயர்நிலை நிரல்மொழிகளான பைத்தான், பிஹெச்பி, ரூபி, ஜாவாசுகிரிப்டு தவிர சி நிரலாக்க மொழியைத் தழுவிய பிற மொழிகளிலும் இல்லாத ஒரு சிறப்பு வசதியாகும். இருப்பினும் அண்மையில் இவ்வசதியைப் போலவே பெர்ளுக்குப் பிற்பாடு வந்த ரூபியிலும் கொண்டுவரமுடியும் எனக் கூறப்படுகிறது.

 எடுத்துக்காட்டு 
பின்வரும் பெர்ள் நிரலின்மூலம் தாமேயாக்குமையின் விளைவைக்காணலாம்.
use Data::Printer;
use YAML;
use strict;
my %lineage;
$lineage{"விலங்குகள்"}
  {"முதுகுநாணிகள்"}
  {"முதுகெலும்பிகள்"}{"ஊர்வன"}
  {"ஆப்புப்பல்வரிசையமைப்பிகள்"
  }{"ஆப்புப்பல்வரிசைவகையி"}
  {"ஆப்புப்பல்வரிசையின"}[0] =
  "பிடரிக்கோடன்";
$lineage{"விலங்குகள்"}
  {"முதுகுநாணிகள்"}
  {"முதுகெலும்பிகள்"}{"ஊர்வன"}
  {"செதிலுடைய ஊர்வன"}
  {" பேரோந்திவகையி"}
  {"அமெரிக்கப் பேரோந்தி"} = [
    "ஆண்ட்டிலியப் பேரோந்தி",
    "பச்சைப் பேரோந்தி"
  ];
p %lineage;
print Dump( \%lineage );

%lineage என்ற மாறியின் உள்ளமைப்பு கீழ்க்காணுமாறு இருக்கும்.

{
    விலங்குகள்   {
        முதுகுநாணிகள்   {
            முதுகெலும்பிகள்   {
                ஊர்வன   {
                    ஆப்புப்பல்வரிசையமைப்பிகள்   {
                        ஆப்புப்பல்வரிசைவகையி   {
                            ஆப்புப்பல்வரிசையின   [
                                [0] "பிடரிக்கோடன்"
                            ]
                        }
                    },
                    'செதிலுடைய ஊர்வன'                                {
                        ' பேரோந்திவகையி'   {
                            'அமெரிக்கப் பேரோந்தி'   [
                                [0] "ஆண்ட்டிலியப் பேரோந்தி",
                                [1] "பச்சைப் பேரோந்தி"
                            ]
                        }
                    }
                }
            }
        }
    }
}

அந்தப்படிநிலையின் எளிதில்படிக்கக்கூடிய YAML வடிவம்.
விலங்குகள்:
  முதுகுநாணிகள்:
    முதுகெலும்பிகள்:
      ஊர்வன:
        ஆப்புப்பல்வரிசையமைப்பிகள்:
          ஆப்புப்பல்வரிசைவகையி:
            ஆப்புப்பல்வரிசையின:
              - பிடரிக்கோடன்
        'செதிலுடைய ஊர்வன':
          ' பேரோந்திவகையி':
            அமெரிக்கப் பேரோந்தி:
              - ஆண்ட்டிலியப் பேரோந்தி
              - பச்சைப் பேரோந்தி

 வெளி இணைப்புகள் 
 தாமேயாக்குமை பற்றிய விளக்கம் 

பகுப்பு:பொருள் நோக்கு நிரலாக்கம்