GoGPT Best VPN GoSearch

OnWorks ഫെവിക്കോൺ

perlhack - ക്ലൗഡിൽ ഓൺലൈനിൽ

ഉബുണ്ടു ഓൺലൈൻ, ഫെഡോറ ഓൺലൈൻ, വിൻഡോസ് ഓൺലൈൻ എമുലേറ്റർ അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിവയിലൂടെ OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ perlhack പ്രവർത്തിപ്പിക്കുക

Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്‌സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന കമാൻഡ് പെർലാക്ക് ആണിത്.

പട്ടിക:

NAME


perlhack - പേളിൽ എങ്ങനെ ഹാക്ക് ചെയ്യാം

വിവരണം


പേൾ വികസനം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് ഈ പ്രമാണം വിശദീകരിക്കുന്നു. ഇതിൽ പേൾ 5 നെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾ ഉൾപ്പെടുന്നു
പോർട്ടേഴ്സ് ഇമെയിൽ ലിസ്റ്റ്, പേൾ ശേഖരം, പെർൽബഗ് ബഗ് ട്രാക്കർ, പാച്ച് മാർഗ്ഗനിർദ്ദേശങ്ങൾ, കൂടാതെ
പേൾ വികസന തത്വശാസ്ത്രത്തെക്കുറിച്ചുള്ള വ്യാഖ്യാനം.

സൂപ്പര് ദ്രുത പാച്ച് ഗൈഡ്


പോഡ് ഫിക്സ്, ബഗിനുള്ള ടെസ്റ്റ്, കമന്റ് എന്നിങ്ങനെ ഒരൊറ്റ ചെറിയ പാച്ച് സമർപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ
പരിഹാരങ്ങൾ മുതലായവ, ഇത് എളുപ്പമാണ്! എങ്ങനെയെന്നത് ഇതാ:

· ഉറവിട ശേഖരം പരിശോധിക്കുക

perl ഉറവിടം ഒരു git റിപ്പോസിറ്ററിയിലാണ്. ഉപയോഗിച്ച് നിങ്ങൾക്ക് ശേഖരം ക്ലോൺ ചെയ്യാം
ഇനിപ്പറയുന്ന കമാൻഡ്:

% git ക്ലോൺ git://perl5.git.perl.org/perl.git perl

· നിങ്ങൾ ഏറ്റവും പുതിയ ഉപദേശം പിന്തുടരുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക

ഈ ഗൈഡിലെ ഉപദേശം അടുത്തിടെ അപ്‌ഡേറ്റ് ചെയ്‌തിട്ടുണ്ടെങ്കിൽ, ഏറ്റവും പുതിയ പതിപ്പ് വായിക്കുക
perl ഉറവിടത്തിൽ നിന്ന് നേരിട്ട്:

% perldoc പോഡ്/perlhack.pod

· നിങ്ങളുടെ മാറ്റം വരുത്തുക

ഹാക്ക്, ഹാക്ക്, ഹാക്ക്. പേൾ വിവിധ പ്ലാറ്റ്‌ഫോമുകളിൽ പ്രവർത്തിക്കുന്നുവെന്നത് ഓർക്കുക
വ്യത്യസ്‌ത കഴിവുകളുള്ള വ്യത്യസ്ത ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ, വ്യത്യസ്ത ഫയൽസിസ്റ്റം
ഓർഗനൈസേഷനുകൾ, കൂടാതെ വ്യത്യസ്ത പ്രതീക സെറ്റുകൾ പോലും. perlhacktips ഇക്കാര്യത്തിൽ ഉപദേശം നൽകുന്നു.

· നിങ്ങളുടെ മാറ്റം പരിശോധിക്കുക

ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് എല്ലാ ടെസ്റ്റുകളും പ്രവർത്തിപ്പിക്കാൻ കഴിയും:

% ./Configure -des -Dusedevel
% ടെസ്റ്റ് നടത്തുക

ടെസ്റ്റുകൾ കടന്നുപോകുന്നതുവരെ ഹാക്കിംഗ് തുടരുക.

· നിങ്ങളുടെ മാറ്റം സമർപ്പിക്കുക

നിങ്ങളുടെ ജോലിയിൽ ഏർപ്പെടുന്നത് മാറ്റം സംരക്ഷിക്കും on നിങ്ങളുടെ പ്രാദേശിക സിസ്റ്റം:

% git commit -a -m 'കമ്മിറ്റ് സന്ദേശം ഇവിടെ പോകുന്നു'

കമ്മിറ്റ് സന്ദേശം ഒരൊറ്റ വാചകത്തിൽ നിങ്ങളുടെ മാറ്റത്തെ വിവരിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. ഉദാഹരണത്തിന്,
"perlhack.pod-ലെ അക്ഷരപ്പിശകുകൾ പരിഹരിച്ചു".

· നിങ്ങളുടെ മാറ്റം perlbug-ലേക്ക് അയയ്ക്കുക

നിങ്ങളുടെ പാച്ച് ഇമെയിൽ വഴി പേൾ കോർ ടിക്കറ്റ് സിസ്റ്റത്തിലേക്ക് സമർപ്പിക്കുക എന്നതാണ് അടുത്ത ഘട്ടം.

നിങ്ങളുടെ മാറ്റങ്ങൾ ഒരൊറ്റ ജിറ്റ് കമ്മിറ്റിലാണ് എങ്കിൽ, താഴെ പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക
പാച്ച് ഫയൽ നിങ്ങളുടെ ബഗ് റിപ്പോർട്ടിലേക്ക് അറ്റാച്ചുചെയ്യുക:

% git ഫോർമാറ്റ്-പാച്ച് -1
% ./perl -Ilib utils/perlbug -p 0001-*.patch

perlbug പ്രോഗ്രാം നിങ്ങളുടെ ഇമെയിൽ വിലാസത്തെക്കുറിച്ചും അതിനെക്കുറിച്ചുമുള്ള കുറച്ച് ചോദ്യങ്ങൾ ചോദിക്കും
നിങ്ങൾ സമർപ്പിക്കുന്ന പാച്ച്. നിങ്ങൾ അവയ്ക്ക് ഉത്തരം നൽകിക്കഴിഞ്ഞാൽ അത് നിങ്ങളുടെ പാച്ച് വഴി സമർപ്പിക്കും
ഇമെയിൽ.

നിങ്ങളുടെ മാറ്റങ്ങൾ ഒന്നിലധികം കമ്മിറ്റുകളിലാണെങ്കിൽ, ഓരോന്നിനും ഒരു പാച്ച് ഫയൽ സൃഷ്ടിക്കുക
കോമകളാൽ വേർതിരിച്ച perlbug ന്റെ "-p" ഓപ്ഷനിലേക്ക് അവ നൽകുക:

% git ഫോർമാറ്റ്-പാച്ച് -3
% ./perl -Ilib utils/perlbug -p 0001-fix1.patch,0002-fix2.patch,\
> 0003-fix3.patch

ആവശ്യപ്പെടുമ്പോൾ, നിങ്ങളുടെ മാറ്റങ്ങൾ സംഗ്രഹിക്കുന്ന ഒരു വിഷയം തിരഞ്ഞെടുക്കുക.

· നന്ദി

പേൾ മികച്ചതാക്കാൻ നിങ്ങൾ ചെലവഴിച്ച സമയത്തെ പോർട്ടർമാർ അഭിനന്ദിക്കുന്നു. നന്ദി!

· അടുത്ത തവണ

അടുത്ത തവണ നിങ്ങൾ ഒരു പാച്ച് നിർമ്മിക്കാൻ ആഗ്രഹിക്കുമ്പോൾ, a ലെ ഏറ്റവും പുതിയ perl-ൽ നിന്ന് ആരംഭിക്കേണ്ടതുണ്ട്
പ്രാകൃതമായ അവസ്ഥ. നിങ്ങളുടെ perl-ൽ പ്രാദേശിക മാറ്റങ്ങളോ ചേർത്ത ഫയലുകളോ ഇല്ലെന്ന് പരിശോധിക്കുക
നിങ്ങൾ സൂക്ഷിക്കാൻ ആഗ്രഹിക്കുന്ന ചെക്ക്-ഔട്ട്, തുടർന്ന് ഈ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:

% ജിറ്റ് പുൾ
% git റീസെറ്റ് --ഹാർഡ് ഉത്ഭവം/ബ്ലീഡ്
% git clean -dxf

മൂട്ട റിപ്പോർട്ടുചെയ്യുന്നു


നിങ്ങൾക്ക് പേളിൽ ഒരു ബഗ് റിപ്പോർട്ട് ചെയ്യണമെങ്കിൽ, നിങ്ങൾ ഇത് ഉപയോഗിക്കണം പെർൽബഗ് കമാൻഡ് ലൈൻ ഉപകരണം. ഈ
നിങ്ങളുടെ ബഗ് റിപ്പോർട്ടിൽ പ്രസക്തമായ എല്ലാ സിസ്റ്റവും കോൺഫിഗറേഷനും ഉൾപ്പെടുന്നുവെന്ന് ടൂൾ ഉറപ്പാക്കും
വിവരങ്ങൾ.

നിലവിലുള്ള Perl ബഗുകളും പാച്ചുകളും ബ്രൗസ് ചെയ്യുന്നതിന്, നിങ്ങൾക്ക് വെബ് ഇന്റർഫേസ് ഇവിടെ ഉപയോഗിക്കാം
<http://rt.perl.org/>.

ദയവായി perl5-porters ലിസ്റ്റിന്റെ ആർക്കൈവ് പരിശോധിക്കുക (ചുവടെ കാണുക) കൂടാതെ/അല്ലെങ്കിൽ ബഗ് ട്രാക്കിംഗ്
ഒരു ബഗ് റിപ്പോർട്ട് സമർപ്പിക്കുന്നതിന് മുമ്പ് സിസ്റ്റം. പലപ്പോഴും, ബഗ് റിപ്പോർട്ട് ചെയ്യപ്പെട്ടതായി നിങ്ങൾ കണ്ടെത്തും
ഇതിനകം.

നിങ്ങൾക്ക് ബഗ് ട്രാക്കിംഗ് സിസ്റ്റത്തിലേക്ക് ലോഗിൻ ചെയ്യാനും നിലവിലുള്ള ബഗ് റിപ്പോർട്ടുകളിൽ അഭിപ്രായമിടാനും കഴിയും. നിങ്ങൾ എങ്കിൽ
നിലവിലുള്ള ഒരു ബഗിനെ സംബന്ധിച്ച് കൂടുതൽ വിവരങ്ങൾ ഉണ്ട്, ദയവായി അത് ചേർക്കുക. ഇത് സഹായിക്കും
പോർട്ടർമാർ ബഗ് പരിഹരിക്കുന്നു.

പേൾ 5 പോർട്ടർമാർ


perl5-porters (p5p) മെയിലിംഗ് ലിസ്റ്റ് ആണ് Perl സ്റ്റാൻഡേർഡ് ഡിസ്ട്രിബ്യൂഷൻ നിലനിർത്തുന്നത്
വികസിപ്പിക്കുകയും ചെയ്തു. പേൾ പരിപാലിക്കുന്ന ആളുകളെ "Perl 5 Porters" എന്നും വിളിക്കുന്നു.
"p5p" അല്ലെങ്കിൽ "പോർട്ടർമാർ".

ലിസ്റ്റിന്റെ തിരയാനാകുന്ന ആർക്കൈവ് ഇവിടെ ലഭ്യമാണ്
<http://markmail.org/search/?q=perl5-porters>. എന്ന സ്ഥലത്ത് ഒരു ആർക്കൈവുമുണ്ട്
<http://archive.develooper.com/perl5-porters@perl.org/>.

perl-മാറ്റങ്ങൾ മെയിലിങ്ങ് പട്ടിക
perl5-മാറ്റങ്ങളുടെ മെയിലിംഗ് ലിസ്റ്റിന് സമർപ്പിക്കപ്പെടുന്ന ഓരോ പാച്ചിന്റെയും ഒരു പകർപ്പ് ലഭിക്കും
perl ശേഖരണത്തിന്റെ പരിപാലന, വികസന ശാഖകൾ. കാണുക
<http://lists.perl.org/list/perl5-changes.html> സബ്സ്ക്രിപ്ഷനും ആർക്കൈവ് വിവരങ്ങൾക്കും.

#p5p on ഐആർസി
നിരവധി ചുമട്ടുതൊഴിലാളികളും ഇതിൽ സജീവമാണ് ചാനൽ. ചേരാൻ മടിക്കേണ്ടതില്ല
ചാനൽ, പേൾ കോറിലെ ഹാക്കിംഗിനെക്കുറിച്ച് ചോദ്യങ്ങൾ ചോദിക്കുക.

നേടുന്നു ദി പേൾ SOURCE


പേളിന്റെ എല്ലാ സോഴ്സ് കോഡും ഒരു Git റിപ്പോസിറ്ററിയിൽ കേന്ദ്രീകൃതമായി സൂക്ഷിച്ചിരിക്കുന്നു perl5.git.perl.org.
റിപ്പോസിറ്ററിയിൽ Perl 1 മുതലുള്ള നിരവധി Perl പുനരവലോകനങ്ങളും അതിൽ നിന്നുള്ള എല്ലാ പുനരവലോകനങ്ങളും അടങ്ങിയിരിക്കുന്നു
പെർഫോഴ്സ്, മുൻ പതിപ്പ് നിയന്ത്രണ സംവിധാനം.

പേൾ റിപ്പോസിറ്ററിയിൽ ജിറ്റ് ഉപയോഗിക്കുന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, ദയവായി perlgit കാണുക.

വായിക്കുക പ്രവേശനം വഴി Git
നിങ്ങളുടെ കമ്പ്യൂട്ടറിനായി Git-ന്റെ ഒരു പകർപ്പ് ആവശ്യമാണ്. നിങ്ങൾക്ക് ശേഖരത്തിന്റെ ഒരു പകർപ്പ് എടുക്കാം
git പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നു:

% git ക്ലോൺ git://perl5.git.perl.org/perl.git perl

ഇത് റിപ്പോസിറ്ററി ക്ലോൺ ചെയ്യുകയും ഒരു ലോക്കൽ കോപ്പി ഉണ്ടാക്കുകയും ചെയ്യുന്നു മുത്ത് ഡയറക്ടറി.

ഫയർവാൾ കാരണങ്ങളാൽ നിങ്ങൾക്ക് ജിറ്റ് പ്രോട്ടോക്കോൾ ഉപയോഗിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, നിങ്ങൾക്ക് http വഴി ക്ലോൺ ചെയ്യാനും കഴിയും,
ഇത് വളരെ പതുക്കെയാണെങ്കിലും:

% git ക്ലോൺ http://perl5.git.perl.org/perl.git മുത്ത്

വായിക്കുക പ്രവേശനം വഴി The വെബ്
വെബിൽ നിങ്ങൾക്ക് ശേഖരം ആക്സസ് ചെയ്യാം. ഇത് ട്രീ ബ്രൗസ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു, കാണുക
സമീപകാല കമ്മിറ്റുകൾ, മാറ്റങ്ങൾക്കായി RSS ഫീഡുകൾ സബ്‌സ്‌ക്രൈബ് ചെയ്യുക, പ്രത്യേക കമ്മിറ്റുകൾക്കായി തിരയുക കൂടാതെ
കൂടുതൽ. നിങ്ങൾക്ക് ഇത് ആക്സസ് ചെയ്യാംhttp://perl5.git.perl.org/perl.git>. ഒരു കണ്ണാടി
ശേഖരം ഇവിടെ കാണപ്പെടുന്നു .

വായിക്കുക പ്രവേശനം വഴി rsync
നിലവിലുള്ള സോഴ്സ് ട്രീയുടെ ഒരു പകർപ്പ് ലഭിക്കുന്നതിന് നിങ്ങൾക്ക് rsync ഉപയോഗിക്കാനും തിരഞ്ഞെടുക്കാം
ബ്ലെഡ്പെർൽ ശാഖയും എല്ലാ മെയിന്റനൻസ് ശാഖകളും:

% rsync -avz rsync://perl5.git.perl.org/perl-current .
% rsync -avz rsync://perl5.git.perl.org/perl-5.12.x .
% rsync -avz rsync://perl5.git.perl.org/perl-5.10.x .
% rsync -avz rsync://perl5.git.perl.org/perl-5.8.x .
% rsync -avz rsync://perl5.git.perl.org/perl-5.6.x .
% rsync -avz rsync://perl5.git.perl.org/perl-5.005xx .

(അവശേഷിച്ച ഫയലുകൾ നീക്കം ചെയ്യാൻ "--delete" ഓപ്ഷൻ ചേർക്കുക.)

ലഭ്യമായ സമന്വയ പോയിന്റുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് ലഭിക്കാൻ:

% rsync perl5.git.perl.org::

എഴുതുക പ്രവേശനം വഴി ജിറ്റിനെ
നിങ്ങൾക്ക് ഒരു കമ്മിറ്റ് ബിറ്റ് ഉണ്ടെങ്കിൽ, git ഉപയോഗിക്കുന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് perlgit കാണുക.

പാച്ചിംഗ് പേൾ


ഒരു ചെറിയ പരിഹാരത്തേക്കാൾ കൂടുതൽ വിപുലമായ ജോലികൾ ചെയ്യാൻ നിങ്ങൾ പദ്ധതിയിടുകയാണെങ്കിൽ, ഞങ്ങൾ നിങ്ങളെ പ്രോത്സാഹിപ്പിക്കുന്നു
താഴെയുള്ള ഡോക്യുമെന്റേഷൻ വായിക്കുക. ഇത് നിങ്ങളുടെ ജോലിയിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാനും പാച്ചുകൾ ഉണ്ടാക്കാനും സഹായിക്കും
പേൾ ഉറവിടത്തിൽ ഉൾപ്പെടുത്താൻ എളുപ്പമാണ്.

സമർപ്പിക്കുന്നു പാച്ചുകൾ
സമർപ്പിക്കാൻ നിങ്ങൾക്ക് ഒരു ചെറിയ പാച്ച് ഉണ്ടെങ്കിൽ, അത് perlbug വഴി സമർപ്പിക്കുക. നിങ്ങൾക്ക് അയയ്ക്കാനും കഴിയും
നേരിട്ട് ഇമെയിൽ ചെയ്യുക [ഇമെയിൽ പരിരക്ഷിച്ചിരിക്കുന്നു]. perlbug-ലേക്ക് അയച്ച സന്ദേശങ്ങൾ തടഞ്ഞുവെച്ചിരിക്കാമെന്നത് ശ്രദ്ധിക്കുക
ഒരു മോഡറേഷൻ ക്യൂവിൽ, അതിനാൽ നിങ്ങൾക്ക് ഉടനടി പ്രതികരണം ലഭിക്കില്ല.

ഞങ്ങളുടെ ടിക്കറ്റിൽ നിന്ന് നിങ്ങൾക്ക് ഒരു ഇമെയിൽ ലഭിക്കുമ്പോൾ നിങ്ങളുടെ സമർപ്പണം പ്രോസസ്സ് ചെയ്തുവെന്ന് നിങ്ങൾക്കറിയാം
ട്രാക്കിംഗ് സിസ്റ്റം. ഈ ഇമെയിൽ നിങ്ങൾക്ക് ഒരു ടിക്കറ്റ് നമ്പർ നൽകും. നിങ്ങളുടെ പാച്ച് അത് ഉണ്ടാക്കിക്കഴിഞ്ഞാൽ
ടിക്കറ്റ് ട്രാക്കിംഗ് സിസ്റ്റത്തിലേക്ക്, ഇത് എന്നതിലേക്കും അയയ്ക്കും [ഇമെയിൽ പരിരക്ഷിച്ചിരിക്കുന്നു] പട്ടിക.

p5p ലിസ്റ്റിൽ പാച്ചുകൾ അവലോകനം ചെയ്യുകയും ചർച്ച ചെയ്യുകയും ചെയ്യുന്നു. ലളിതവും വിവാദരഹിതവുമായ പാച്ചുകൾ ചെയ്യും
സാധാരണയായി ഒരു ചർച്ചയും കൂടാതെ പ്രയോഗിക്കുക. പാച്ച് പ്രയോഗിക്കുമ്പോൾ, ടിക്കറ്റ് ആയിരിക്കും
അപ്ഡേറ്റ് ചെയ്തു, നിങ്ങൾക്ക് ഇമെയിൽ ലഭിക്കും. കൂടാതെ, p5p ലിസ്റ്റിലേക്ക് ഒരു ഇമെയിൽ അയയ്ക്കും.

മറ്റ് സന്ദർഭങ്ങളിൽ, പാച്ചിന് കൂടുതൽ ജോലിയോ ചർച്ചയോ ആവശ്യമായി വരും. അത് p5p-ൽ സംഭവിക്കും
പട്ടിക.

ചർച്ചയിൽ പങ്കെടുക്കാനും നിങ്ങളുടെ പാച്ചിനുവേണ്ടി വാദിക്കാനും നിങ്ങളെ പ്രോത്സാഹിപ്പിക്കുന്നു.
ചിലപ്പോൾ നിങ്ങളുടെ പാച്ച് ഷഫിളിൽ നഷ്ടപ്പെട്ടേക്കാം. ഒരു ഓർമ്മപ്പെടുത്തൽ അയയ്ക്കുന്നത് ഉചിതമാണ്
ഒരു മാസത്തിനുള്ളിൽ നടപടിയൊന്നും എടുത്തില്ലെങ്കിൽ p5p-ലേക്ക് ഇമെയിൽ ചെയ്യുക. Perl 5 എന്നത് ദയവായി ഓർക്കുക
ഡവലപ്പർമാരെല്ലാം സന്നദ്ധപ്രവർത്തകരാണ്, മര്യാദയുള്ളവരായിരിക്കുക.

മാറ്റങ്ങൾ എല്ലായ്പ്പോഴും "ബ്ലീഡ്" എന്ന് വിളിക്കപ്പെടുന്ന പ്രധാന വികസന ശാഖയിലേക്ക് നേരിട്ട് പ്രയോഗിക്കുന്നു. ചിലത്
പാച്ചുകൾ ഒരു മെയിന്റനൻസ് ബ്രാഞ്ചിലേക്ക് ബാക്ക്പോർട്ട് ചെയ്തേക്കാം. നിങ്ങളുടെ പാച്ച് അനുയോജ്യമാണെന്ന് നിങ്ങൾ കരുതുന്നുവെങ്കിൽ
മെയിന്റനൻസ് ബ്രാഞ്ചിനായി (പെർൾ പോളിസിയിലെ "മെയിന്റനൻസ് ബ്രാഞ്ചുകൾ" കാണുക), എന്തുകൊണ്ടെന്ന് ദയവായി വിശദീകരിക്കുക
നിങ്ങൾ അത് സമർപ്പിക്കുമ്പോൾ.

നേടുന്നു നിങ്ങളുടെ പാച്ച് സ്വീകരിച്ചു
നിങ്ങൾ ഒരു കോഡ് പാച്ച് സമർപ്പിക്കുകയാണെങ്കിൽ, അതിനെ സഹായിക്കാൻ നിങ്ങൾക്ക് ചെയ്യാൻ കഴിയുന്ന നിരവധി കാര്യങ്ങളുണ്ട്
Perl 5 പോർട്ടർമാർ നിങ്ങളുടെ പാച്ച് സ്വീകരിക്കുന്നു.

തുണിത്തുണ്ട് ശൈലി

നിങ്ങൾ പേൾ ഉറവിടം പരിശോധിക്കാൻ git ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ, "git ഫോർമാറ്റ്-പാച്ച്" ഉപയോഗിച്ച് ഒരു
പേളിന് അനുയോജ്യമായ ശൈലിയിൽ പാച്ച് ചെയ്യുക. "format-patch" കമാൻഡ് ഒരു പാച്ച് ഫയൽ നിർമ്മിക്കുന്നു
നിങ്ങൾ ചെയ്ത ഓരോ പ്രതിജ്ഞയ്ക്കും. എല്ലാ കമ്മിറ്റുകൾക്കും ഒരൊറ്റ പാച്ച് അയയ്ക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് കഴിയും
"git diff" ഉപയോഗിക്കുക.

% git ചെക്ക്ഔട്ട് ബ്ലെഡ്
% ജിറ്റ് പുൾ
% git diff blead my-branch-name

ബ്ലീഡും നിങ്ങളുടെ നിലവിലെ ബ്രാഞ്ചും തമ്മിലുള്ള വ്യത്യാസത്തെ അടിസ്ഥാനമാക്കി ഇത് ഒരു പാച്ച് ഉണ്ടാക്കുന്നു. അത്
ഡിഫ് ഉൽപ്പാദിപ്പിക്കുന്നതിന് മുമ്പ് ബ്ലെഡ് കാലികമാണെന്ന് ഉറപ്പാക്കേണ്ടത് പ്രധാനമാണ്, അതുകൊണ്ടാണ് ഞങ്ങൾ
ആദ്യം "ജിറ്റ് പുൾ" എന്ന് വിളിക്കുക.

സാധ്യമെങ്കിൽ നിങ്ങൾ git ഉപയോഗിക്കാൻ ഞങ്ങൾ ശക്തമായി ശുപാർശ ചെയ്യുന്നു. ഇത് നിങ്ങളുടെ ജീവിതം എളുപ്പമാക്കും, ഒപ്പം
നമ്മുടേതും.

എന്നിരുന്നാലും, നിങ്ങൾ git ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, നിങ്ങൾക്ക് ഇപ്പോഴും അനുയോജ്യമായ ഒരു പാച്ച് നിർമ്മിക്കാൻ കഴിയും. നിങ്ങൾക്ക് ഒരു ആവശ്യമാണ്
വ്യത്യസ്‌തമാക്കാൻ പേൾ ഉറവിടത്തിന്റെ പ്രാകൃതമായ പകർപ്പ്. പോർട്ടർമാർ ഏകീകൃത വ്യത്യാസങ്ങളാണ് ഇഷ്ടപ്പെടുന്നത്.
GNU "diff" ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഇതുപോലുള്ള ഒരു വ്യത്യാസം ഉണ്ടാക്കാം:

% വ്യത്യാസം -Npurd perl.pristine perl.mine

ഏതെങ്കിലും ബിൽഡ് ആർട്ടിഫാക്‌റ്റുകൾ നീക്കംചെയ്യുന്നതിന് നിങ്ങളുടെ Perl-ന്റെ പകർപ്പിൽ നിങ്ങൾ "റിയൽ ക്ലീൻ" ആക്കുന്നുവെന്ന് ഉറപ്പാക്കുക, അല്ലെങ്കിൽ
നിങ്ങൾക്ക് ആശയക്കുഴപ്പമുണ്ടാക്കുന്ന ഫലം ലഭിച്ചേക്കാം.

സമർപ്പിക്കുക സന്ദേശം

നിങ്ങൾ പേൾ കോറിലേക്ക് സമർപ്പിക്കാൻ ഉദ്ദേശിക്കുന്ന ഓരോ പാച്ചും ക്രാഫ്റ്റ് ചെയ്യുമ്പോൾ, എ എഴുതേണ്ടത് പ്രധാനമാണ്
നല്ല പ്രതിബദ്ധത സന്ദേശം. നിങ്ങളുടെ സമർപ്പണം ഒരു ഉൾപ്പെടുന്നതാണെങ്കിൽ ഇത് വളരെ പ്രധാനമാണ്
പ്രതിബദ്ധതകളുടെ പരമ്പര.

പ്രതിബദ്ധത സന്ദേശത്തിന്റെ ആദ്യ വരി കാലയളവ് ഇല്ലാതെ ഒരു ചെറിയ വിവരണം ആയിരിക്കണം. അത്
ഒരു ഇമെയിലിന്റെ സബ്ജക്ട് ലൈനേക്കാൾ ദൈർഘ്യമേറിയതായിരിക്കരുത്, 50 പ്രതീകങ്ങൾ ഒരു നല്ല നിയമമാണ്
പെരുവിരൽ.

ധാരാളം Git ടൂളുകൾ (Gitweb, GitHub, git log --pretty=oneline, ...) കാണിക്കുന്നത്
പ്രതിബദ്ധത സംഗ്രഹങ്ങൾ അവതരിപ്പിക്കുമ്പോൾ ആദ്യ വരി (50 പ്രതീകങ്ങളിൽ മുറിക്കുക).

കമ്മിറ്റ് സന്ദേശത്തിൽ പാച്ച് ശരിയാക്കുന്ന പ്രശ്നത്തിന്റെ വിവരണം ഉൾപ്പെടുത്തണം അല്ലെങ്കിൽ
പാച്ച് ചേർക്കുന്ന പുതിയ പ്രവർത്തനം.

ഒരു പൊതു നിയമമെന്ന നിലയിൽ, നിങ്ങളുടെ പ്രതിബദ്ധത സന്ദേശം അറിയാവുന്ന ഒരു പ്രോഗ്രാമറെ സഹായിക്കും
നിങ്ങൾ എന്താണ് ചെയ്യാൻ ശ്രമിക്കുന്നത്, എങ്ങനെയാണ് നിങ്ങൾ അത് ചെയ്യാൻ ശ്രമിക്കുന്നത്, കൂടാതെ പേൾ കോർ പെട്ടെന്ന് മനസ്സിലാക്കുന്നു
എന്തുകൊണ്ടാണ് ഈ മാറ്റം പേളിന് പ്രധാനമായത്.

· എന്തുകൊണ്ട്

നിങ്ങൾ വരുത്തുന്ന മാറ്റം എന്തുകൊണ്ട് പ്രധാനമാണെന്ന് നിങ്ങളുടെ പ്രതിബദ്ധത സന്ദേശം വിവരിക്കണം. എപ്പോൾ
ആറ് മാസത്തിനോ ആറ് വർഷത്തിനോ ഉള്ള നിങ്ങളുടെ മാറ്റം ആരെങ്കിലും നോക്കുന്നു, നിങ്ങളുടെ ഉദ്ദേശം വ്യക്തമായിരിക്കണം.

പിന്നീട് മറ്റൊരു ബിറ്റ് ലളിതമാക്കുക എന്ന ഉദ്ദേശത്തോടെയാണ് നിങ്ങൾ ഒരു ഫീച്ചർ ഒഴിവാക്കുന്നതെങ്കിൽ
കോഡ്, അങ്ങനെ പറയുക. നിങ്ങൾ ഒരു പ്രകടന പ്രശ്നം പരിഹരിക്കുകയോ പുതിയ ഫീച്ചർ ചേർക്കുകയോ ചെയ്യുകയാണെങ്കിലോ
മറ്റ് ചില കോർ പിന്തുണയ്ക്കുക, അത് സൂചിപ്പിക്കുക.

· എന്ത്

നിങ്ങളുടെ പ്രതിബദ്ധത സന്ദേശം നിങ്ങൾ മാറുന്ന പേൾ കോറിന്റെ ഏത് ഭാഗമാണെന്നും വിവരിക്കണം
നിങ്ങളുടെ പാച്ച് എന്ത് ചെയ്യുമെന്ന് നിങ്ങൾ പ്രതീക്ഷിക്കുന്നു.

· എങ്ങനെ

ഡോക്യുമെന്റേഷൻ മാറ്റങ്ങൾ, പുതിയ ടെസ്റ്റുകൾ അല്ലെങ്കിൽ നിസ്സാര പാച്ചുകൾ എന്നിവയ്ക്ക് ഇത് ആവശ്യമില്ലെങ്കിലും, അത്
നിങ്ങളുടെ മാറ്റം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് വിശദീകരിക്കുന്നത് മൂല്യവത്താണ്. ഇന്ന് നിങ്ങൾക്ക് അത് വ്യക്തമായാൽ പോലും, അത് സംഭവിക്കാം
അടുത്ത മാസമോ അടുത്ത വർഷമോ ഒരു പോർട്ടർക്ക് വ്യക്തമല്ല.

നിങ്ങളുടെ കോഡിലെ കമന്റുകളുടെ സ്ഥാനത്ത് പ്രതിബദ്ധതയുള്ള സന്ദേശം കൊണ്ടുവരാൻ ഉദ്ദേശിച്ചുള്ളതല്ല. പ്രതിബദ്ധത
സന്ദേശങ്ങൾ നിങ്ങൾ വരുത്തിയ മാറ്റത്തെ വിവരിക്കണം, അതേസമയം കോഡ് കമന്റുകൾ വിവരിക്കേണ്ടതാണ്
കോഡിന്റെ നിലവിലെ അവസ്ഥ.

നിങ്ങൾ ഇപ്പോൾ ഒരു പുതിയ ഫീച്ചർ നടപ്പിലാക്കിയിട്ടുണ്ടെങ്കിൽ, ഡോക്‌സ്, ടെസ്റ്റുകൾ, നല്ല അഭിപ്രായങ്ങൾ എന്നിവ ഉപയോഗിച്ച് പൂർത്തിയാക്കുക
കോഡ്, ഒരു ഹ്രസ്വ പ്രതിബദ്ധത സന്ദേശം പലപ്പോഴും മതിയാകും. എങ്കിൽ, നിങ്ങൾ ഇപ്പോൾ ഒരു മാറിയിരിക്കുന്നു
പാർസറിലോ ലെക്സറിലോ ഉള്ള ഒറ്റ കഥാപാത്രം, നിങ്ങൾക്ക് ഒരു ചെറിയ നോവൽ എഴുതേണ്ടി വന്നേക്കാം
നിങ്ങൾ എന്താണ് ചെയ്തതെന്നും എന്തിനാണ് ഇത് ചെയ്തതെന്നും ഭാവിയിലെ വായനക്കാർ മനസ്സിലാക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.

അഭിപ്രായങ്ങൾ, അഭിപ്രായങ്ങൾ, അഭിപ്രായങ്ങള്

നിങ്ങളുടെ കോഡ് വേണ്ടത്ര കമന്റ് ചെയ്യുന്നത് ഉറപ്പാക്കുക. കമന്റിടുമ്പോൾ ഓരോ വരിയും അനാവശ്യമാണ്.
ഓപ്പറേറ്റർമാരുടെ പാർശ്വഫലങ്ങൾ പ്രയോജനപ്പെടുത്തുന്ന എന്തും, അത് മാറ്റങ്ങൾ സൃഷ്ടിക്കുന്നു
ഫംഗ്‌ഷൻ പാച്ച് ചെയ്യപ്പെടുന്നതിന് പുറത്ത് അനുഭവപ്പെടുന്നു, അല്ലെങ്കിൽ മറ്റുള്ളവർക്ക് ആശയക്കുഴപ്പം തോന്നിയേക്കാം
രേഖപ്പെടുത്തി. നിങ്ങൾ തെറ്റുപറ്റാൻ പോകുകയാണെങ്കിൽ, കൂടുതൽ ചേർക്കുന്നതിൽ തെറ്റ് ചെയ്യുന്നതാണ് നല്ലത്
വളരെ കുറച്ച് അഭിപ്രായങ്ങൾ.

മികച്ച അഭിപ്രായങ്ങൾ വിശദീകരിക്കുന്നു എന്തുകൊണ്ട് കോഡ് അത് ചെയ്യുന്നത് ചെയ്യുന്നു, അല്ല എന്ത് it ചെയ്യുന്നവൻ.

ശൈലി

പൊതുവേ, നിങ്ങൾ പാച്ച് ചെയ്യുന്ന കോഡിന്റെ പ്രത്യേക ശൈലി പിന്തുടരുക.

പ്രത്യേകിച്ചും, പേൾ ഉറവിടങ്ങൾ പാച്ച് ചെയ്യുന്നതിനുള്ള ഈ പൊതു മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കുക:

· 8-വൈഡ് ടാബുകൾ (ഒഴിവാക്കലുകളൊന്നുമില്ല!)

· കോഡിനായി 4-വൈഡ് ഇൻഡന്റുകൾ, നെസ്റ്റഡ് സിപിപിക്ക് 2-വൈഡ് ഇൻഡന്റുകൾ #നിർവചിക്കുന്നു

· 79-നിരകൾ കവിയാതിരിക്കാൻ കഠിനമായി ശ്രമിക്കുക

· ANSI C പ്രോട്ടോടൈപ്പുകൾ

· കൺട്രോൾ കൺസ്ട്രക്‌റ്റുകൾ ഇൻഡന്റുചെയ്യുന്നതിനുള്ള "കെ&ആർ" ശൈലിയും അൺകഡ്‌ഡ്‌ഡ് ഓൾസുകളും

· C++ ശൈലി (//) അഭിപ്രായങ്ങളൊന്നുമില്ല

· XXX ഉപയോഗിച്ച് വീണ്ടും സന്ദർശിക്കേണ്ട സ്ഥലങ്ങൾ അടയാളപ്പെടുത്തുക (കൂടാതെ പലപ്പോഴും വീണ്ടും സന്ദർശിക്കുക!)

· സോപാധികമായ ഒന്നിലധികം വരികൾ പരത്തുമ്പോൾ "if" ഉപയോഗിച്ച് ബ്രേസ് ലൈനുകൾ തുറക്കുന്നു; ൽ ആയിരിക്കണം
അല്ലാത്തപക്ഷം അവസാനം

ഫംഗ്‌ഷൻ നിർവചനങ്ങളിൽ, പേര് കോളം 0-ൽ ആരംഭിക്കുന്നു (റിട്ടേൺ മൂല്യം-തരം മുമ്പത്തേതാണ്
വരി)

· കീവേഡുകൾക്ക് ശേഷം പാരൻസ് പിന്തുടരുന്ന സിംഗിൾ സ്പേസ്, ഫംഗ്ഷനുകൾക്കിടയിൽ ഇടമില്ല
പേരും ഇനിപ്പറയുന്ന പാരനും

· സോപാധികമായ അസൈൻമെന്റുകൾ ഒഴിവാക്കുക, എന്നാൽ അവ ഒഴിവാക്കാനാകാത്തതാണെങ്കിൽ, അധിക പാരൻ ഉപയോഗിക്കുക, ഉദാ
"എങ്കിൽ (a && (b = c)) ..."

· "റിട്ടേൺ ഫൂ;" പകരം "റിട്ടേൺ(foo);"

· "if (!foo) ..." എന്നതിനുപകരം "if (foo == FALSE) ..." മുതലായവ.

· "രജിസ്റ്റർ" ഉപയോഗിച്ച് വേരിയബിളുകൾ പ്രഖ്യാപിക്കരുത്. അത് ആധുനികതയ്‌ക്ക് വിപരീതമായേക്കാം
കംപൈലറുകൾ, കൂടാതെ C++-ൽ ഒഴിവാക്കിയിരിക്കുന്നു, അതിന് കീഴിൽ Perl ഉറവിടം പതിവായി
സമാഹരിച്ചത്.

· XS കോഡിലേക്ക് ആക്‌സസ് ചെയ്യാവുന്ന തലക്കെട്ടുകളിലുള്ള ഇൻ-ലൈൻ ഫംഗ്‌ഷനുകൾക്ക് കഴിയേണ്ടതുണ്ട്
gcc പോലെയുള്ള സാധാരണ ഉപയോഗിക്കുന്ന അധിക കംപൈലേഷൻ ഫ്ലാഗുകൾ ഉപയോഗിച്ച് മുന്നറിയിപ്പുകളില്ലാതെ കംപൈൽ ചെയ്യാൻ
"-Wswitch-default" എന്നത് ഒരു സ്വിച്ച് പ്രസ്താവനയ്ക്ക് "സ്ഥിരസ്ഥിതി" ഇല്ലാത്തപ്പോഴെല്ലാം മുന്നറിയിപ്പ് നൽകുന്നു
കേസ്. ഈ അധിക ഫ്ലാഗുകളുടെ ഉപയോഗം നിയമപരമായ സി കോഡിലെ പ്രശ്‌നങ്ങൾ കണ്ടെത്താനാണ്,
ലിനക്സ് ഡിസ്ട്രിബ്യൂട്ടറുകൾ പോലെയുള്ള പേൾ അഗ്രിഗേറ്ററുകൾ പലപ്പോഴും ഉപയോഗിക്കുന്നു.

പരിശോധന സ്യൂട്ട്

നിങ്ങളുടെ പാച്ച് കോഡ് മാറ്റുകയാണെങ്കിൽ (ഡോക്യുമെന്റേഷൻ മാറ്റുന്നതിനുപകരം), നിങ്ങളും ചെയ്യണം
നിങ്ങൾ പരിഹരിക്കുന്ന ബഗ് വ്യക്തമാക്കുന്ന അല്ലെങ്കിൽ പുതിയത് സാധൂകരിക്കുന്ന ഒന്നോ അതിലധികമോ ടെസ്റ്റ് കേസുകൾ ഉൾപ്പെടുത്തുക
നിങ്ങൾ ചേർക്കുന്ന പ്രവർത്തനം. പൊതുവേ, നിങ്ങൾ നിലവിലുള്ള ഒരു ടെസ്റ്റ് ഫയൽ അപ്ഡേറ്റ് ചെയ്യണം
പുതിയൊരെണ്ണം സൃഷ്ടിക്കുന്നതിനേക്കാൾ.

നിങ്ങളുടെ ടെസ്റ്റ് സ്യൂട്ട് കൂട്ടിച്ചേർക്കലുകൾ സാധാരണയായി ഈ മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കേണ്ടതാണ് (ഗുരുസാമിയുടെ കടപ്പാട്
സാരഥി[ഇമെയിൽ പരിരക്ഷിച്ചിരിക്കുന്നു]>):

· നിങ്ങൾ എന്താണ് പരീക്ഷിക്കുന്നതെന്ന് അറിയുക. പ്രമാണങ്ങളും ഉറവിടവും വായിക്കുക.

· പരാജയപ്പെടാൻ പ്രവണത, വിജയിക്കരുത്.

· ഫലങ്ങൾ കർശനമായി വ്യാഖ്യാനിക്കുക.

· ബന്ധമില്ലാത്ത ഫീച്ചറുകൾ ഉപയോഗിക്കുക (ഇത് വിചിത്രമായ ഇടപെടലുകളെ ഇല്ലാതാക്കും).

· നിലവാരമില്ലാത്ത ഭാഷകൾ ഉപയോഗിക്കുക (അല്ലെങ്കിൽ നിങ്ങൾ TIMTOWTDI പരീക്ഷിക്കുന്നില്ല).

സാധ്യമാകുമ്പോഴെല്ലാം ഹാർഡ്‌കോഡുചെയ്‌ത ടെസ്റ്റ് നമ്പറുകൾ ഉപയോഗിക്കുന്നത് ഒഴിവാക്കുക (പ്രതീക്ഷിച്ചത്/കിട്ടിയത്
t/op/tie.t കൂടുതൽ പരിപാലിക്കാവുന്നതും മികച്ച പരാജയ റിപ്പോർട്ടുകൾ നൽകുന്നു).

· ഒരു ടെസ്റ്റ് പരാജയപ്പെടുമ്പോൾ അർത്ഥവത്തായ പിശക് സന്ദേശങ്ങൾ നൽകുക.

· qx// എന്നിവ ഉപയോഗിക്കുന്നത് ഒഴിവാക്കുക സിസ്റ്റം() നിങ്ങൾ അവരെ പരീക്ഷിക്കുന്നില്ലെങ്കിൽ. നിങ്ങൾ അവ ഉപയോഗിക്കുകയാണെങ്കിൽ,
നിങ്ങൾ _all_ perl പ്ലാറ്റ്‌ഫോമുകൾ കവർ ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുക.

· നിങ്ങൾ സൃഷ്ടിക്കുന്ന ഏതെങ്കിലും താൽക്കാലിക ഫയലുകൾ അൺലിങ്ക് ചെയ്യുക.

· $SIG{__WARN__} ഉപയോഗിച്ച് പിശകുകളിലേക്ക് അപ്രതീക്ഷിതമായ മുന്നറിയിപ്പുകൾ പ്രോത്സാഹിപ്പിക്കുക.

· പരീക്ഷിക്കുന്ന പതിപ്പിനൊപ്പം അയച്ച ലൈബ്രറികളും മൊഡ്യൂളുകളും ഉപയോഗിക്കുന്നത് ഉറപ്പാക്കുക, അല്ല
ഇതിനകം ഇൻസ്റ്റാൾ ചെയ്തവ.

· നിങ്ങൾ എന്തിനാണ് പരീക്ഷിക്കുന്നതെന്ന് വിശദീകരിക്കുന്ന കോഡിലേക്ക് അഭിപ്രായങ്ങൾ ചേർക്കുക.

· '1..42' സ്ട്രിംഗ് അപ്‌ഡേറ്റ് ചെയ്യുന്നത് അനാവശ്യമാക്കുക. അല്ലെങ്കിൽ നിങ്ങൾ അത് അപ്ഡേറ്റ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.

നൽകിയിരിക്കുന്ന ഓപ്പറേറ്ററുടെയോ ലൈബ്രറിയുടെയോ പ്രവർത്തനത്തിന്റെയോ _എല്ലാ_ പെരുമാറ്റങ്ങളും പരിശോധിക്കുക.

എല്ലാ ഓപ്ഷണൽ ആർഗ്യുമെന്റുകളും പരിശോധിക്കുക.

വിവിധ സന്ദർഭങ്ങളിൽ റിട്ടേൺ മൂല്യങ്ങൾ പരിശോധിക്കുക (ബൂളിയൻ, സ്കെലാർ, ലിസ്റ്റ്, മൂല്യം).

ഗ്ലോബൽ, ലെക്സിക്കൽ വേരിയബിളുകൾ ഉപയോഗിക്കുക.

അസാധാരണമായ, പാത്തോളജിക്കൽ കേസുകൾ മറക്കരുത്.

പാച്ചിംഗ് a കോർ മൊഡ്യൂൾ
ഒരു അധിക പരിഗണനയോടെ മറ്റെന്തെങ്കിലും പാച്ച് ചെയ്യുന്നതുപോലെ ഇത് പ്രവർത്തിക്കുന്നു.

ലെ മൊഡ്യൂളുകൾ cpan/ സോഴ്സ് ട്രീയുടെ ഡയറക്ടറി പേൾ കോറിന് പുറത്ത് സൂക്ഷിക്കുന്നു.
രചയിതാവ് മൊഡ്യൂൾ അപ്‌ഡേറ്റ് ചെയ്യുമ്പോൾ, അപ്‌ഡേറ്റുകൾ കേവലം കോറിലേക്ക് പകർത്തുന്നു. അത് നോക്കൂ
മൊഡ്യൂളിന്റെ ഡോക്യുമെന്റേഷൻ അല്ലെങ്കിൽ അതിന്റെ ലിസ്റ്റിംഗ്http://search.cpan.org/> കൂടുതൽ വിവരങ്ങൾക്ക്
ബഗുകൾ റിപ്പോർട്ടുചെയ്യുകയും പാച്ചുകൾ സമർപ്പിക്കുകയും ചെയ്യുന്നു.

മിക്ക കേസുകളിലും, മൊഡ്യൂളുകളിലേക്കുള്ള പാച്ചുകൾ cpan/ അപ്‌സ്‌ട്രീം അയയ്‌ക്കണം, അങ്ങനെയായിരിക്കരുത്
വ്യക്തിഗതമായി Perl കോർ പ്രയോഗിച്ചു. ഒരു ഫയലിലേക്കുള്ള പാച്ച് ആണെങ്കിൽ cpan/ തീർച്ചയായും കഴിയില്ല
തിരുത്തൽ അപ്‌സ്ട്രീം ചെയ്യപ്പെടുന്നതുവരെ കാത്തിരിക്കുക, CPAN-ലേക്ക് റിലീസ് ചെയ്യുകയും ബ്ലീഡിലേക്ക് പകർത്തുകയും ചെയ്യുക, നിങ്ങൾ ചേർക്കണം
(അല്ലെങ്കിൽ അപ്ഡേറ്റ്) ഒരു "ഇഷ്‌ടാനുസൃതമാക്കിയ" എൻട്രി "Porting/Maintainers.pl" ഒരു ലോക്കൽ എന്ന് ഫ്ലാഗ് ചെയ്യാനുള്ള ഫയൽ
മാറ്റം വരുത്തിയിട്ടുണ്ട്. കാണുക "Porting/Maintainers.pl" കൂടുതൽ വിവരങ്ങൾക്ക്.

വിപരീതമായി, മൊഡ്യൂളുകൾ dist / ഡയറക്ടറി കോറിൽ സൂക്ഷിക്കുന്നു.

അപ്ഡേറ്റുചെയ്യുന്നു പെർൽഡെൽറ്റ
വാറന്റിന് മതിയായ മാറ്റങ്ങൾക്ക് a പോഡ്/perldelta.pod പ്രവേശനം, പോർട്ടർമാർ ചെയ്യും
നിങ്ങളുടെ യഥാർത്ഥ മാറ്റത്തോടൊപ്പം ഒരു ഡെൽറ്റ എൻട്രി സമർപ്പിക്കുകയാണെങ്കിൽ അത് വളരെയധികം അഭിനന്ദിക്കുന്നു.
പ്രധാനപ്പെട്ട മാറ്റങ്ങൾ ഉൾപ്പെടുന്നു, എന്നാൽ ഇവയിൽ മാത്രം പരിമിതപ്പെടുന്നില്ല:

· പ്രധാന സവിശേഷതകൾ ചേർക്കൽ, ഒഴിവാക്കൽ, അല്ലെങ്കിൽ നീക്കം

· കോർ അല്ലെങ്കിൽ ഡ്യുവൽ-ലൈഫ് മൊഡ്യൂളുകൾ ചേർക്കുന്നു, ഒഴിവാക്കുന്നു, നീക്കംചെയ്യുന്നു അല്ലെങ്കിൽ നവീകരിക്കുന്നു

· പുതിയ കോർ ടെസ്റ്റുകൾ ചേർക്കുന്നു

· കാമ്പിലെ സുരക്ഷാ പ്രശ്നങ്ങളും ഉപയോക്താക്കൾക്ക് ദൃശ്യമാകുന്ന ബഗുകളും പരിഹരിക്കുന്നു

· perl അല്ലെങ്കിൽ C ലെവലിൽ നിലവിലുള്ള കോഡ് തകർത്തേക്കാവുന്ന മാറ്റങ്ങൾ

· കാര്യമായ പ്രകടന മെച്ചപ്പെടുത്തലുകൾ

ൽ ഡോക്യുമെന്റേഷൻ ചേർക്കുന്നു, നീക്കംചെയ്യുന്നു, അല്ലെങ്കിൽ ഗണ്യമായി മാറ്റുന്നു പോഡ്/ ഡയറക്ടറി

· പ്രധാനപ്പെട്ട പ്ലാറ്റ്ഫോം-നിർദ്ദിഷ്ട മാറ്റങ്ങൾ

അതിനുള്ളിലെ വലത് വിഭാഗത്തിലേക്ക് നിങ്ങൾ പെർൽഡെൽറ്റ എൻട്രി ചേർത്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക
പോഡ്/perldelta.pod. നല്ല പെർൽഡെൽറ്റ എൻട്രികൾ എങ്ങനെ എഴുതാം എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ലഭ്യമാണ്
"സ്റ്റൈൽ" വിഭാഗത്തിൽ പോർട്ടിംഗ്/how_to_write_a_perldelta.pod.

എന്ത് നിർമ്മാതാക്കൾ വേണ്ടി a നല്ല പാച്ച്?
ഭാഷയിലേക്കുള്ള പുതിയ സവിശേഷതകളും വിപുലീകരണങ്ങളും വിവാദമാകാം. പ്രത്യേക സെറ്റ് ഒന്നുമില്ല
എന്തൊക്കെ ഫീച്ചറുകൾ ചേർക്കണമെന്ന് നിർണ്ണയിക്കുന്ന മാനദണ്ഡങ്ങൾ, എന്നാൽ ചില ചോദ്യങ്ങൾ ഇവിടെയുണ്ട്
ഒരു പാച്ച് വികസിപ്പിക്കുമ്പോൾ പരിഗണിക്കുക:

പ്രവർത്തിക്കുന്നുണ്ട് The ആശയം മത്സരം The പൊതുവായ ലക്ഷ്യങ്ങൾ of പേർൾ?

ഞങ്ങളുടെ ലക്ഷ്യങ്ങളിൽ ഉൾപ്പെടുന്നു, എന്നാൽ ഇവയിൽ മാത്രം പരിമിതപ്പെടുന്നില്ല:

1. ഇത് വേഗത്തിലും ലളിതമായും ഉപയോഗപ്രദമായും സൂക്ഷിക്കുക.

2. സവിശേഷതകൾ/സങ്കൽപ്പങ്ങൾ കഴിയുന്നത്ര ഓർത്തോഗണൽ ആയി സൂക്ഷിക്കുക.

3. ഏകപക്ഷീയമായ പരിധികളില്ല (പ്ലാറ്റ്ഫോമുകൾ, ഡാറ്റ വലുപ്പങ്ങൾ, സംസ്കാരങ്ങൾ).

4. എല്ലായിടത്തും പേൾ ഉപയോഗിക്കാൻ/പാച്ച്/അഡ്വക്കേറ്റ് ചെയ്യാൻ അത് തുറന്നതും ആവേശകരവുമായി നിലനിർത്തുക.

5. ഒന്നുകിൽ പുതിയ സാങ്കേതികവിദ്യകൾ സ്വാംശീകരിക്കുക, അല്ലെങ്കിൽ അവയ്ക്ക് പാലങ്ങൾ നിർമ്മിക്കുക.

എവിടെ is The നടപ്പാക്കൽ?

ലോകത്ത് നടക്കുന്ന എല്ലാ സംസാരവും നടപ്പാക്കാതെ നിഷ്ഫലമാണ്. മിക്കവാറും എല്ലാ സാഹചര്യങ്ങളിലും, ദി
ഒരു പുതിയ ഫീച്ചറിന് വേണ്ടി വാദിക്കുന്ന വ്യക്തിയോ ആളുകളോ ആയിരിക്കും നടപ്പിലാക്കുന്നത് എന്ന് പ്രതീക്ഷിക്കാം
അത്. പുതിയ സവിശേഷതകൾ കോഡ് ചെയ്യാൻ കഴിവുള്ള പോർട്ടർമാർക്ക് അവരുടേതായ അജണ്ടകളുണ്ട്, അവ ലഭ്യമല്ല
നിങ്ങളുടെ (ഒരുപക്ഷേ നല്ലത്) ആശയം നടപ്പിലാക്കാൻ.

പിന്നിലേക്ക് അനുയോജ്യത

നിലവിലുള്ള Perl പ്രോഗ്രാമുകൾ തകർക്കുന്നത് വലിയ പാപമാണ്. പുതിയ മുന്നറിയിപ്പുകൾ ആകാം
തർക്കവിഷയം--മുന്നറിയിപ്പ് പുറപ്പെടുവിക്കുന്ന ഒരു പ്രോഗ്രാം തകർന്നിട്ടില്ലെന്ന് ചിലർ പറയുന്നു, മറ്റുള്ളവർ പറയുന്നു
അത്. കീവേഡുകൾ ചേർക്കുന്നത് പ്രോഗ്രാമുകളെ തകർക്കാനും അർത്ഥം മാറ്റാനും സാധ്യതയുണ്ട്
നിലവിലുള്ള ടോക്കൺ സീക്വൻസുകളോ ഫംഗ്ഷനുകളോ പ്രോഗ്രാമുകളെ തകർത്തേക്കാം.

പിന്നിലേക്ക് പൊരുത്തപ്പെടാത്ത മാറ്റങ്ങൾ വരുത്താൻ പോർട്ടർമാരെ സഹായിക്കുന്നതിനുള്ള സംവിധാനങ്ങൾ പേൾ 5 കോർ ഉൾക്കൊള്ളുന്നു
ഫീച്ചർ, ഡിപ്രിക്കേറ്റ് മൊഡ്യൂളുകൾ എന്നിവ പോലെ കൂടുതൽ അനുയോജ്യം. എപ്പോൾ അവ ഉപയോഗിക്കുക
ഉചിതമായത്.

കഴിഞ്ഞില്ല it be a മൊഡ്യൂൾ പകരം?

Perl 5-ന് വിപുലീകരണ സംവിധാനങ്ങളും മൊഡ്യൂളുകളും XS-ഉം ഉണ്ട്, പ്രത്യേകമായി സൂക്ഷിക്കേണ്ടതിന്റെ ആവശ്യകത ഒഴിവാക്കാൻ
പേൾ ഇന്റർപ്രെറ്റർ മാറ്റുന്നു. ഫംഗ്‌ഷനുകൾ കയറ്റുമതി ചെയ്യുന്ന മൊഡ്യൂളുകൾ നിങ്ങൾക്ക് എഴുതാം, നിങ്ങൾക്ക് നൽകാം
ആ ഫംഗ്‌ഷനുകൾ പ്രോട്ടോടൈപ്പുകൾ ആയതിനാൽ അവയെ ബിൽറ്റ്-ഇൻ ഫംഗ്‌ഷനുകൾ പോലെ വിളിക്കാം, നിങ്ങൾക്ക് പോലും
നിങ്ങൾക്ക് വേണമെങ്കിൽ പേൾ ഇന്റർപ്രെറ്ററിന്റെ റൺടൈം ഡാറ്റാ സ്ട്രക്‌ചറുകളെ കുഴപ്പത്തിലാക്കാൻ XS കോഡ് എഴുതുക
ശരിക്കും സങ്കീർണ്ണമായ കാര്യങ്ങൾ നടപ്പിലാക്കാൻ.

സാധ്യമാകുമ്പോഴെല്ലാം, പുതിയ സവിശേഷതകൾ ഉണ്ടാകുന്നതിന് മുമ്പ് ഒരു CPAN മൊഡ്യൂളിൽ പ്രോട്ടോടൈപ്പ് ചെയ്യണം
കാതലായി കണക്കാക്കുന്നു.

Is The സവിശേഷത ജനറിക് മതി?

ഇത് സമർപ്പിക്കുന്നയാൾ മാത്രം ഭാഷയിൽ ചേർക്കാൻ ആഗ്രഹിക്കുന്ന ഒന്നാണോ, അതോ വിശാലമായി ആണോ
ഉപയോഗപ്രദമായ? ചിലപ്പോൾ, ഒരു ഇറുകിയ ഫോക്കസ് ഉള്ള ഒരു ഫീച്ചർ ചേർക്കുന്നതിനുപകരം, പോർട്ടർമാർ ചെയ്തേക്കാം
കൂടുതൽ സാമാന്യവൽക്കരിച്ച ഫീച്ചർ ആരെങ്കിലും നടപ്പിലാക്കുന്നത് വരെ കാത്തിരിക്കാൻ തീരുമാനിക്കുക.

പ്രവർത്തിക്കുന്നുണ്ട് it സാധ്യതയുണ്ട് പരിചയപ്പെടുത്തുക പുതിയ ബഗുകൾ?

പേൾ ഇന്റർപ്രെറ്ററിന്റെ വലിയ ഭാഗങ്ങളുടെ സമൂലമായ തിരുത്തലുകൾ അവതരിപ്പിക്കാനുള്ള കഴിവുണ്ട്
പുതിയ ബഗുകൾ.

എങ്ങനെ വലിയ is ഇത്?

ചെറുതും കൂടുതൽ പ്രാദേശികവൽക്കരിച്ചതുമായ മാറ്റം, നല്ലത്. അതുപോലെ, ചെറിയ ഒരു പരമ്പര
ഒരു വലിയ പാച്ചിനെക്കാൾ പാച്ചുകൾ തിരഞ്ഞെടുക്കുന്നതാണ് നല്ലത്.

പ്രവർത്തിക്കുന്നുണ്ട് it തടഞ്ഞുനിർത്തുക മറ്റ് അഭിലഷണീയം ഫീച്ചറുകൾ?

വികസനത്തിന്റെ ഭാവി വഴികൾ അടച്ചാൽ ഒരു പാച്ച് നിരസിക്കപ്പെടാൻ സാധ്യതയുണ്ട്. വേണ്ടി
ഉദാഹരണത്തിന്, പ്രോട്ടോടൈപ്പുകളിൽ യഥാർത്ഥവും അന്തിമവുമായ വ്യാഖ്യാനം നൽകുന്ന ഒരു പാച്ച് സാധ്യതയുണ്ട്
പ്രോട്ടോടൈപ്പുകളുടെ ഭാവിയിൽ ഇതുവരെ ഉണ്ടായിട്ടില്ലാത്ത ഓപ്ഷനുകൾ ഉള്ളതിനാൽ നിരസിക്കപ്പെടും
അഭിസംബോധന.

Is The നടപ്പാക്കൽ ദൃഢമായ?

നല്ല പാച്ചുകൾ (ഇറുകിയ കോഡ്, പൂർണ്ണമായത്, ശരിയായത്) അകത്തേക്ക് പോകാനുള്ള സാധ്യത കൂടുതലാണ്. സ്ലോപ്പി അല്ലെങ്കിൽ
പമ്പിംഗ് ശരിയാക്കാൻ സമയമാകുന്നതുവരെ തെറ്റായ പാച്ചുകൾ ബാക്ക് ബർണറിൽ സ്ഥാപിച്ചേക്കാം,
അല്ലെങ്കിൽ ഇനിയൊരു അറിയിപ്പ് കൂടാതെ പൂർണ്ണമായി നിരസിച്ചേക്കാം.

Is The നടപ്പാക്കൽ ജനറിക് മതി ലേക്ക് be പോർട്ടബിൾ?

ഏറ്റവും മോശം പാച്ചുകൾ സിസ്റ്റം-നിർദ്ദിഷ്ട സവിശേഷതകൾ ഉപയോഗിക്കുന്നു. അല്ലാത്തത് വളരെ സാധ്യതയില്ല
പേൾ ഭാഷയിലേക്കുള്ള പോർട്ടബിൾ കൂട്ടിച്ചേർക്കലുകൾ സ്വീകരിക്കപ്പെടും.

Is The നടപ്പാക്കൽ പരീക്ഷിച്ചോ?

സ്വഭാവം മാറ്റുന്ന പാച്ചുകൾ (ബഗുകൾ പരിഹരിക്കൽ അല്ലെങ്കിൽ പുതിയ സവിശേഷതകൾ അവതരിപ്പിക്കൽ) ഉൾപ്പെടുത്തണം
എല്ലാം പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കാൻ റിഗ്രഷൻ ടെസ്റ്റുകൾ.

യഥാർത്ഥ രചയിതാവ് നൽകിയ പരിശോധനകളില്ലാതെ, മറ്റൊരാൾക്ക് എങ്ങനെ perl മാറ്റാൻ കഴിയും
പാച്ച് നടപ്പിലാക്കുന്ന സ്വഭാവം അവർ അറിയാതെ തകർത്തിട്ടില്ലെന്ന് ഭാവി ഉറപ്പാക്കുക?
കൂടാതെ, പരിശോധനകളില്ലാതെ, പാച്ചിന്റെ രചയിതാവിന് അവന്റെ/അവളുടെ കഠിനാധ്വാനത്തിൽ എങ്ങനെ ആത്മവിശ്വാസമുണ്ടാകും
ഭാവിയിൽ ആരെങ്കിലും ആകസ്മികമായി പാച്ച് വലിച്ചെറിയില്ലേ?

Is അവിടെ മതി പ്രമാണീകരണം?

ഡോക്യുമെന്റേഷൻ ഇല്ലാത്ത പാച്ചുകൾ ഒരുപക്ഷേ തെറ്റായതോ അപൂർണ്ണമോ ആണ്. സവിശേഷതകൾക്കൊന്നും കഴിയില്ല
ഡോക്യുമെന്റേഷൻ ഇല്ലാതെ ചേർക്കുകയോ മാറ്റുകയോ ചെയ്യാം, അതിനാൽ ഉചിതമായ പോഡിനായി ഒരു പാച്ച് സമർപ്പിക്കുന്നു
ഡോക്സും സോഴ്സ് കോഡും പ്രധാനമാണ്.

Is അവിടെ മറ്റൊരു വഴി ലേക്ക് do ഇത്?

ലാറി പറഞ്ഞു, "പേൾ മുദ്രാവാക്യം ആണെങ്കിലും അവിടെയുണ്ട് കൂടുതൽ മാത്രമൊതുങ്ങാതെ ഒന്ന് വഴി ലേക്ക് Do It, ഞാൻ മടിക്കുന്നു
എന്തെങ്കിലും ചെയ്യാൻ 10 വഴികൾ ഉണ്ടാക്കുക". ഇത് നാവിഗേറ്റ് ചെയ്യാനുള്ള ഒരു തന്ത്രപരമായ ഹ്യൂറിസ്റ്റിക് ആണ്, എന്നിരുന്നാലും--ഒരാളുടേത്
അനിവാര്യമായ കൂട്ടിച്ചേർക്കൽ മറ്റൊരു മനുഷ്യന്റെ അർത്ഥശൂന്യമായ ക്രാഫ്റ്റാണ്.

പ്രവർത്തിക്കുന്നുണ്ട് it സൃഷ്ടിക്കാൻ വളരെ വളരെ പ്രവർത്തിക്കും?

പമ്പിംഗിനായുള്ള ജോലി, പേൾ പ്രോഗ്രാമർമാർക്കുള്ള ജോലി, മൊഡ്യൂൾ രചയിതാക്കൾക്കുള്ള ജോലി, ... പേൾ ആണ്
എളുപ്പമാണെന്ന് കരുതപ്പെടുന്നു.

പൊരുത്തങ്ങൾ സംസാരിക്കുക ഉച്ചത്തിൽ അധികം വാക്കുകൾ

വർക്കിംഗ് കോഡ് എല്ലായ്പ്പോഴും പൈ-ഇൻ-ദി-സ്കൈ ആശയങ്ങൾക്ക് മുൻഗണന നൽകുന്നു. ഒരു ഫീച്ചർ ചേർക്കുന്നതിനുള്ള ഒരു പാച്ച് സ്റ്റാൻഡ്
ക്രമരഹിതമായ ഒരു ഫീച്ചർ അഭ്യർത്ഥനയെക്കാൾ വളരെ ഉയർന്ന സാധ്യത ഭാഷയിലേക്ക്, ഇല്ല
അഭ്യർത്ഥന എത്ര തീക്ഷ്ണമായി വാദിച്ചാലും. ഇത് "ഇത് ഉപയോഗപ്രദമാകുമോ?" എന്നതുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു
പാച്ച് നിർമ്മിക്കാൻ ആരെങ്കിലും സമയമെടുത്തു എന്ന വസ്തുത, അതിനോടുള്ള ശക്തമായ ആഗ്രഹം പ്രകടമാക്കുന്നു
സവിശേഷത.

ടെസ്റ്റിംഗ്


കാമ്പും Perl-ന്റെ ബാക്കിയുള്ള അതേ ടെസ്റ്റിംഗ് ശൈലിയാണ് ഉപയോഗിക്കുന്നത്, ഒരു ലളിതമായ "ശരി/നല്ല ശരി"
ടെസ്റ്റ് :: ഹാർനെസ്, എന്നാൽ ചില പ്രത്യേക പരിഗണനകൾ ഉണ്ട്.

കോറിൽ ഒരു പരീക്ഷ എഴുതാൻ മൂന്ന് വഴികളുണ്ട്: ടെസ്റ്റ്::കൂടുതൽ, t/test.pl കൂടാതെ താൽക്കാലിക "പ്രിന്റ്
$ടെസ്റ്റ് ? "ok 42\n" : "ശരിയല്ല 42\n"". ഏത് ഭാഗമാണ് ഉപയോഗിക്കേണ്ടത് എന്നതിനെ ആശ്രയിച്ചിരിക്കും
നിങ്ങൾ പ്രവർത്തിക്കുന്ന ടെസ്റ്റ് സ്യൂട്ട്. ഉയർന്ന തലത്തിലുള്ള പരാജയം തടയുന്നതിനുള്ള ഒരു നടപടിയാണിത് (ഉദാ
Config.pm ബ്രേക്കിംഗ് ആയി) അടിസ്ഥാന പ്രവർത്തന പരിശോധനകൾ പരാജയപ്പെടുന്നതിന് കാരണമാകുന്നു.

ദി t/test.pl ടെസ്റ്റ് ::കൂടുതൽ എന്നതിന്റെ ചില സവിശേഷതകൾ ലൈബ്രറി നൽകുന്നു, എന്നാൽ മിക്കതും ലോഡ് ചെയ്യുന്നത് ഒഴിവാക്കുന്നു
മൊഡ്യൂളുകളും കഴിയുന്നത്ര കുറച്ച് പ്രധാന സവിശേഷതകളും ഉപയോഗിക്കുന്നു.

നിങ്ങൾ സ്വയം പരീക്ഷ എഴുതുകയാണെങ്കിൽ, ടെസ്റ്റ് എനിതിംഗ് പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുകhttp://testanything.org>.

· ടി/ബേസ്, t/comp ഒപ്പം t/opbasic

"ആവശ്യമാണ്" പ്രവർത്തിക്കുന്നുണ്ടോ, അതോ സബ്റൂട്ടീനുകൾ പോലും പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് ഞങ്ങൾക്ക് അറിയാത്തതിനാൽ, ഇതിനായി താൽക്കാലിക പരിശോധനകൾ ഉപയോഗിക്കുക
ഈ മൂന്ന്. പരീക്ഷിക്കുന്ന ഫീച്ചർ ഉപയോഗിക്കുന്നത് ഒഴിവാക്കാൻ ശ്രദ്ധാപൂർവം ചുവടുവെക്കുക. പരിശോധനകൾ
t/opbasic, ഉദാഹരണത്തിന്, ഉള്ളതിനേക്കാൾ അവിടെ സ്ഥാപിച്ചിരിക്കുന്നു t/op കാരണം അവർ പരീക്ഷിക്കുന്നു
പ്രവർത്തനക്ഷമത ഏത് t/test.pl അനുമാനങ്ങൾ പ്രവർത്തിക്കുമെന്ന് ഇതിനകം തെളിയിച്ചിട്ടുണ്ട്.

· t/cmd, ടി/റൺ, t/io ഒപ്പം t/op

ഇപ്പോൾ അത് അടിസ്ഥാനം ആവശ്യമാണ്() സബ്റൂട്ടീനുകൾ പരീക്ഷിച്ചു, നിങ്ങൾക്ക് ഉപയോഗിക്കാം t/test.pl
ലൈബ്രറി.

നിങ്ങൾക്ക് Config പോലുള്ള ചില ലൈബ്രറികൾ സോപാധികമായി ഉപയോഗിക്കാനും കഴിയും, എന്നാൽ ഒഴിവാക്കുന്നത് ഉറപ്പാക്കുക
അത് ഇല്ലെങ്കിൽ മനോഹരമായി പരീക്ഷിക്കുക.

· മറ്റെല്ലാം

ഇപ്പോൾ Perl-ന്റെ കോർ പരീക്ഷിച്ചുകഴിഞ്ഞു, ടെസ്റ്റ്::കൂടുതൽ ഉപയോഗിക്കാനും ഉപയോഗിക്കാനും കഴിയും. നിങ്ങൾക്കും കഴിയും
ടെസ്റ്റുകളിൽ കോർ മൊഡ്യൂളുകളുടെ മുഴുവൻ സ്യൂട്ട് ഉപയോഗിക്കുക.

നിങ്ങൾ "ടെസ്റ്റ് ഉണ്ടാക്കുക" എന്ന് പറയുമ്പോൾ, പേൾ ഉപയോഗിക്കുന്നത് t/TEST ടെസ്റ്റ് സ്യൂട്ട് പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള പ്രോഗ്രാം (കീഴിലൊഴികെ
Win32 എവിടെയാണ് ഉപയോഗിക്കുന്നത് ടി / ഹാർനെസ് പകരം). എല്ലാ ടെസ്റ്റുകളും നടത്തുന്നത് t/ ഡയറക്ടറി, അല്ല The
ടെസ്റ്റ് അടങ്ങുന്ന ഡയറക്ടറി. ഇത് പരിശോധനകളിൽ ചില പ്രശ്നങ്ങൾ ഉണ്ടാക്കുന്നു lib /, അങ്ങനെ
ചില ഒത്തുകളികൾക്ക് ഇതാ ഒരു അവസരം.

ക്രോസ്-പ്ലാറ്റ്ഫോം ആശങ്കകളെക്കുറിച്ച് നിങ്ങൾ മൂന്ന് തവണ ബോധവാനായിരിക്കണം. ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നത് വരെ തിളച്ചുമറിയുന്നു
ഫയൽ::സ്‌പെക്ക്, "ഫോർക്ക്()", "സിസ്റ്റം()" എന്നിവ പോലുള്ളവ ഒഴിവാക്കൽ, അത്യാവശ്യമല്ലാതെ, കൂടാതെ
തന്നിരിക്കുന്ന പ്രതീകത്തിന് ഒരു പ്രത്യേക ഓർഡിനൽ മൂല്യം (കോഡ് പോയിന്റ്) ഉണ്ടെന്ന് കരുതുന്നില്ല
അതിന്റെ UTF-8 പ്രതിനിധാനം പ്രത്യേക ബൈറ്റുകൾ ചേർന്നതാണ്.

പ്രതീകങ്ങളും കോഡ് പോയിന്റുകളും പോർട്ടബിൾ ആയി വ്യക്തമാക്കുന്നതിന് നിരവധി ഫംഗ്ഷനുകൾ ലഭ്യമാണ്
പരിശോധനകൾ. "utf8::unicode_to_native()" എല്ലായ്‌പ്പോഴും പ്രീലോഡഡ് ഫംഗ്‌ഷനുകളും അതിന്റെ വിപരീതവും
"utf8::native_to_unicode()" കോഡ് പോയിന്റുകൾ എടുത്ത് ഉചിതമായി വിവർത്തനം ചെയ്യുക. ഫയല്
t/charset_tools.pl ഉപയോഗപ്രദമായ നിരവധി പ്രവർത്തനങ്ങൾ ഉണ്ട്. ഇതിന്റെ പതിപ്പുകൾ ഉണ്ട്
സ്ട്രിംഗുകൾ ഇൻപുട്ടുകളായി എടുക്കുന്ന മുമ്പത്തെ രണ്ട് ഫംഗ്ഷനുകൾ -- ഒറ്റ സംഖ്യാ കോഡ് പോയിന്റുകളല്ല:
"uni_to_native()", "native_to_uni()". നിങ്ങൾ വ്യക്തിഗത ബൈറ്റുകൾ നോക്കേണ്ടതുണ്ടെങ്കിൽ
ഒരു UTF-8 എൻകോഡ് ചെയ്ത സ്ട്രിംഗ് അടങ്ങുന്ന, "byte_utf8a_to_utf8n()" ഒരു സ്ട്രിംഗ് ഇൻപുട്ടായി എടുക്കുന്നു
ഒരു ASCII പ്ലാറ്റ്‌ഫോമിനായി എൻകോഡ് ചെയ്‌ത ആ ബൈറ്റുകൾ, നേറ്റീവ് ഭാഷയിൽ തത്തുല്യമായ സ്ട്രിംഗ് തിരികെ നൽകുന്നു
പ്ലാറ്റ്ഫോം. ഉദാഹരണത്തിന്, "byte_utf8a_to_utf8n("\xC2\xA0")" ബൈറ്റ് സീക്വൻസ് നൽകുന്നു
"\xC8\xA00" UTF-0 ബൈറ്റുകൾ ആയതിനാൽ, "U+2A0" എന്നതിനായി UTF-8 രൂപീകരിക്കുന്ന നിലവിലെ പ്ലാറ്റ്ഫോം
ആ കോഡ് പോയിന്റിനുള്ള ഒരു ASCII പ്ലാറ്റ്ഫോം. ഈ ഫംഗ്‌ഷൻ ഒരു ASCII-ൽ "\xC2\xA0" നൽകുന്നു
പ്ലാറ്റ്‌ഫോം, കൂടാതെ ഒരു EBCDIC 80 ഒന്നിൽ "\x41\x1047".

എന്നാൽ ഏറ്റവും എളുപ്പമുള്ളത്, പ്രതീകം "A" അല്ലെങ്കിൽ "%" പോലെ അക്ഷരാർത്ഥത്തിൽ സൂചിപ്പിക്കാമെങ്കിൽ
അത്; അത്ര വ്യക്തമല്ലെങ്കിൽ, പാർശ്വഫലങ്ങൾ ഇല്ലെങ്കിൽ നിങ്ങൾക്ക് "\N{}" ഉപയോഗിക്കാം
പ്രയാസം. "\N{U+ZZ}" എന്നതിന് പകരം നിങ്ങളുടെ എല്ലാ പ്രതീകങ്ങളും ഹെക്സിൽ വ്യക്തമാക്കുക
"\xZZ". "\N{}" എന്നത് യൂണികോഡ് നാമമാണ്, അതിനാൽ ഇത് നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും യൂണികോഡ് പ്രതീകം നൽകുന്നു.
"\N{U+41}" എന്നത് യൂണിക്കോഡ് കോഡ് പോയിന്റ് 0x41 ആണ്, അതിനാൽ എല്ലാത്തിലും 'A' ആണ്
പ്ലാറ്റ്ഫോമുകൾ. പാർശ്വഫലങ്ങൾ ഇവയാണ്:

1) ഇവ യൂണികോഡ് നിയമങ്ങൾ തിരഞ്ഞെടുക്കുന്നു. അതിനർത്ഥം ഡബിൾ-ക്വോട്ടിഷ് സ്ട്രിംഗുകളിൽ, സ്ട്രിംഗ് ആണ്
ഒരു യൂണികോഡ് വ്യാഖ്യാനം നിർബന്ധമാക്കുന്നതിന് എല്ലായ്പ്പോഴും UTF-8 ലേക്ക് പരിവർത്തനം ചെയ്യുന്നു (നിങ്ങൾക്ക് കഴിയും
"utf8::downgrade()" പിന്നീട്, സാധ്യമെങ്കിൽ, UTF8 ഇതര-ലേക്ക് പരിവർത്തനം ചെയ്യുക). പതിവായി
എക്സ്പ്രഷൻ പാറ്റേണുകൾ, പരിവർത്തനം ചെയ്തിട്ടില്ല, എന്നാൽ പ്രതീകം സെറ്റ് മോഡിഫയർ ആണെങ്കിൽ
അല്ലാത്തപക്ഷം "/d" ആകും, അത് "/u" ആയി മാറി.

2) നിങ്ങൾ "\N{ ഫോം ഉപയോഗിക്കുകയാണെങ്കിൽപ്രതീകം പേര്}", charnames മൊഡ്യൂൾ സ്വയമേവ ലഭിക്കുന്നു
ലോഡ് ചെയ്തു. നിങ്ങൾ ചെയ്യുന്ന ടെസ്റ്റ് ലെവലിന് ഇത് അനുയോജ്യമല്ലായിരിക്കാം.

നിങ്ങൾ ലൊക്കേലുകൾ പരീക്ഷിക്കുകയാണെങ്കിൽ (perllocale കാണുക), സഹായി ഫംഗ്‌ഷനുകൾ ഉണ്ട് t/loc_tools.pl
നിലവിലെ പ്ലാറ്റ്‌ഫോമിൽ ഏതൊക്കെ ലൊക്കേലുകൾ ഉണ്ടെന്ന് കാണാൻ നിങ്ങളെ പ്രാപ്‌തമാക്കുന്നതിന്.

പ്രത്യേക "ഉണ്ടാക്കുക പരീക്ഷണം" ലക്ഷ്യങ്ങൾ
പേൾ അൽപ്പം വ്യത്യസ്‌തമായി പരീക്ഷിക്കാൻ ഉപയോഗിക്കാവുന്ന വിവിധ പ്രത്യേക മേക്ക് ടാർഗെറ്റുകൾ ഉണ്ട്
സാധാരണ "ടെസ്റ്റ്" ലക്ഷ്യത്തേക്കാൾ. അവരെല്ലാം 100% വിജയശതമാനം നൽകുമെന്ന് പ്രതീക്ഷിക്കുന്നില്ല.
അവയിൽ പലതിനും നിരവധി അപരനാമങ്ങളുണ്ട്, അവയിൽ പലതും ചില പ്രവർത്തനങ്ങളിൽ ലഭ്യമല്ല
സിസ്റ്റങ്ങൾ.

ടെസ്റ്റ്_പോർട്ടിംഗ്

ഇത് സോഴ്സ് ട്രീയിൽ ചില അടിസ്ഥാന സാനിറ്റി ടെസ്റ്റുകൾ നടത്തുകയും അടിസ്ഥാന പിശകുകൾ പിടിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു
നിങ്ങൾ ഒരു പാച്ച് സമർപ്പിക്കുന്നതിന് മുമ്പ്.

· മിനിറ്റെസ്റ്റ്

പ്രവർത്തിപ്പിക്കുക മിനിപെർൾ on ടി/ബേസ്, t/comp, t/cmd, ടി/റൺ, t/io, t/op, t/uni ഒപ്പം t/mro ടെസ്റ്റുകൾ.

· test.valgrind check.valgrind

(ലിനക്സിൽ മാത്രം) മെമ്മറി ലീക്ക് + നാട്ടി മെമ്മറി ആക്സസ് ടൂൾ ഉപയോഗിച്ച് എല്ലാ ടെസ്റ്റുകളും പ്രവർത്തിപ്പിക്കുക
"valgrind". ലോഗ് ഫയലുകൾക്ക് പേരിടും testname.valgrind.

· test_harness

ഉപയോഗിച്ച് ടെസ്റ്റ് സ്യൂട്ട് പ്രവർത്തിപ്പിക്കുക ടി / ഹാർനെസ് നിയന്ത്രിക്കുന്ന പ്രോഗ്രാം, പകരം t/TEST.
ടി / ഹാർനെസ് കൂടുതൽ സങ്കീർണ്ണമാണ്, കൂടാതെ ടെസ്റ്റ് ::ഹാർനെസ് മൊഡ്യൂൾ ഉപയോഗിക്കുന്നു, അങ്ങനെ ഇത് ഉപയോഗിക്കുന്നു
ടെസ്റ്റ് ടാർഗെറ്റ് അനുമാനിക്കുന്നത് perl മിക്കവാറും പ്രവർത്തിക്കുന്നു എന്നാണ്. ഞങ്ങളുടെ ഉദ്ദേശ്യങ്ങൾക്കുള്ള പ്രധാന നേട്ടം
പരാജയപ്പെട്ട ടെസ്റ്റുകളുടെ വിശദമായ സംഗ്രഹം അത് അവസാനം അച്ചടിക്കുന്നു. കൂടാതെ, വ്യത്യസ്തമായി t/TESTഅത്
stderr-നെ stdout-ലേക്ക് റീഡയറക്ട് ചെയ്യുന്നില്ല.

Win32 ന് കീഴിൽ എന്നത് ശ്രദ്ധിക്കുക ടി / ഹാർനെസ് പകരം എപ്പോഴും ഉപയോഗിക്കുന്നു t/TEST, അങ്ങനെ ഇല്ല
പ്രത്യേക "ടെസ്റ്റ്_ഹാർനെസ്" ലക്ഷ്യം.

Win32-ന്റെ "ടെസ്റ്റ്" ടാർഗെറ്റിന് കീഴിൽ നിങ്ങൾക്ക് TEST_SWITCHES, TEST_FILES പരിസ്ഥിതി ഉപയോഗിക്കാം
പെരുമാറ്റം നിയന്ത്രിക്കുന്നതിനുള്ള വേരിയബിളുകൾ ടി / ഹാർനെസ്. ഇതിനർത്ഥം നിങ്ങൾക്ക് പറയാനാകും എന്നാണ്

nmake test TEST_FILES="op/*.t"
nmake test TEST_SWITCHES="-ടോർച്ചർ" TEST_FILES="op/*.t"

· ടെസ്റ്റ് നോട്ടി test_notty

സാധാരണ ടെസ്റ്റ് പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് PERL_SKIP_TTY_TEST എന്നത് true ആയി സജ്ജീകരിക്കുന്നു.

സമാന്തരമായി ടെസ്റ്റുകൾ
കോർ ഡിസ്ട്രിബ്യൂഷന് ഇപ്പോൾ Unix പോലുള്ള പ്ലാറ്റ്‌ഫോമുകളിൽ സമാന്തരമായി അതിന്റെ റിഗ്രഷൻ ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും.
"make test" റൺ ചെയ്യുന്നതിനുപകരം, നിങ്ങളുടെ പരിതസ്ഥിതിയിൽ "TEST_JOBS" ടെസ്റ്റുകളുടെ എണ്ണത്തിലേക്ക് സജ്ജമാക്കുക
സമാന്തരമായി പ്രവർത്തിപ്പിക്കാനും "make test_harness" പ്രവർത്തിപ്പിക്കാനും. ബോൺ പോലുള്ള ഷെല്ലിൽ, ഇത് ചെയ്യാൻ കഴിയും
as

TEST_JOBS=3 make test_harness # 3 ടെസ്റ്റുകൾ സമാന്തരമായി പ്രവർത്തിപ്പിക്കുക

സമാന്തരമായി നിർമ്മിക്കുന്നതിനുപകരം ഒരു പരിസ്ഥിതി വേരിയബിൾ ഉപയോഗിക്കുന്നു, കാരണം TAP::Harness
വൈരുദ്ധ്യമില്ലാത്ത ടെസ്റ്റ് സ്ക്രിപ്റ്റുകൾ തന്നെ ഷെഡ്യൂൾ ചെയ്യാൻ കഴിയണം
അവരുടെ ജോലി ഷെഡ്യൂളർമാരുമായി സംവദിക്കാൻ യൂട്ടിലിറ്റികൾ "ഉണ്ടാക്കാൻ" സ്റ്റാൻഡേർഡ് ഇന്റർഫേസ് ഇല്ല.

നിലവിൽ ചില ടെസ്റ്റ് സ്ക്രിപ്റ്റുകൾ സമാന്തരമായി പ്രവർത്തിക്കുമ്പോൾ പരാജയപ്പെടാം (ഏറ്റവും പ്രധാനം
ext/IO/t/io_dir.t). ആവശ്യമെങ്കിൽ, പരാജയപ്പെടുന്ന സ്ക്രിപ്റ്റുകൾ വീണ്ടും തുടർച്ചയായി പ്രവർത്തിപ്പിച്ച് കാണുക
പരാജയങ്ങൾ ഇല്ലാതായാൽ.

പ്രവർത്തിക്കുന്ന ടെസ്റ്റുകൾ by കൈ
ഇനിപ്പറയുന്ന കമാൻഡുകളിലൊന്ന് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ടെസ്റ്റ് സ്യൂട്ടിന്റെ ഒരു ഭാഗം കൈകൊണ്ട് പ്രവർത്തിപ്പിക്കാം
t/ ഡയറക്ടറി:

./perl -I../ ലിബ് ടെസ്റ്റ് ലിസ്റ്റ്-ഓഫ്-.ടി-ഫയലുകൾ

or

./perl -I../ ലിബ് ഹാർനെസ് ലിസ്റ്റ്-ഓഫ്-.ടി-ഫയലുകൾ

(നിങ്ങൾ ടെസ്റ്റ് സ്ക്രിപ്റ്റുകൾ വ്യക്തമാക്കിയില്ലെങ്കിൽ, മുഴുവൻ ടെസ്റ്റ് സ്യൂട്ടും പ്രവർത്തിക്കും.)

ഉപയോഗിക്കുന്നു ടി / ഹാർനെസ് വേണ്ടി ടെസ്റ്റിംഗ്
പരിശോധനയ്ക്കായി നിങ്ങൾ "ഹാർനെസ്" ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് നിരവധി കമാൻഡ് ലൈൻ ഓപ്ഷനുകൾ ലഭ്യമാണ്.
വാദങ്ങൾ ഇനിപ്പറയുന്നവയാണ്, അവ ഒരുമിച്ച് ഉപയോഗിക്കുകയാണെങ്കിൽ അവ പ്രത്യക്ഷപ്പെടണം എന്ന ക്രമത്തിലാണ്.

harness -v -torture -re=പാറ്റേൺ പരിശോധിക്കാനുള്ള ഫയലുകളുടെ ലിസ്റ്റ്
harness -v -torture -re ലിസ്റ്റ് ഓഫ് പാറ്റേണുകൾ പൊരുത്തപ്പെടുത്തുക

"ടെസ്റ്റ് ചെയ്യാനുള്ള ഫയലുകളുടെ പട്ടിക" ഒഴിവാക്കിയാൽ, മാനിഫെസ്റ്റിൽ നിന്ന് ഫയൽ ലിസ്റ്റ് ലഭിക്കും. ദി
ഫയൽ ലിസ്റ്റിൽ ഷെൽ വൈൽഡ്കാർഡുകൾ ഉൾപ്പെട്ടേക്കാം, അവ വികസിപ്പിക്കും.

· -വി

വെർബോസ് മോഡിന് കീഴിൽ ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുക, അതിലൂടെ ഏത് ടെസ്റ്റുകളാണ് റൺ ചെയ്തതെന്നും ഡീബഗ് ഔട്ട്പുട്ടും നിങ്ങൾക്ക് കാണാനാകും.

· -പീഡിപ്പിക്കാനും

ടോർച്ചർ ടെസ്റ്റുകളും സാധാരണ സെറ്റും പ്രവർത്തിപ്പിക്കുക.

· -re=PATTERN

എല്ലാ ടെസ്റ്റ് ഫയലുകളും പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന തരത്തിൽ ഫയൽ ലിസ്റ്റ് ഫിൽട്ടർ ചെയ്യുക. ഇത് ശ്രദ്ധിക്കുക
രൂപം വ്യത്യസ്തമാണ് -റെ പട്ടിക OF പാറ്റേണുകൾ ചുവടെയുള്ള ഫോം അത് ഫയലിനെ അനുവദിക്കുന്നു
പട്ടികയും നൽകണം.

പാറ്റേണുകളുടെ --റീ ലിസ്റ്റ്

എല്ലാ ടെസ്റ്റ് ഫയലുകളും പൊരുത്തപ്പെടുന്ന തരത്തിൽ ഫയൽ ലിസ്റ്റ് ഫിൽട്ടർ ചെയ്യുക /(LIST|OF|PATTERNS)/. കുറിപ്പ്
ഈ ഫോമിനൊപ്പം പാറ്റേണുകൾ '|' ചേരുന്നു. കൂടാതെ നിങ്ങൾക്ക് ഒരു ലിസ്റ്റ് നൽകാൻ കഴിയില്ല
ഫയലുകൾ, പകരം ടെസ്റ്റ് ഫയലുകൾ MANIFEST ൽ നിന്ന് ലഭിക്കും.

സമാനമായ ഒരു കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു വ്യക്തിഗത ടെസ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും

./perl -I../ ലിബ് പാത/to/foo.t

ഹാർനെസുകൾ നിർവ്വഹണത്തെ ബാധിച്ചേക്കാവുന്ന ചില പരിസ്ഥിതി വേരിയബിളുകൾ സജ്ജീകരിക്കുന്നു എന്നതൊഴിച്ചാൽ
പരീക്ഷയുടെ:

· PERL_CORE=1

പേൾ കോർ ടെസ്റ്റ് സ്യൂട്ടിന്റെ ഭാഗമായാണ് ഞങ്ങൾ ഈ ടെസ്റ്റ് നടത്തുന്നത് എന്ന് സൂചിപ്പിക്കുന്നു. ഇതാണ്
CPAN-ൽ ഇരട്ട ജീവിതമുള്ള മൊഡ്യൂളുകൾക്ക് ഉപയോഗപ്രദമാണ്.

· PERL_DESTRUCT_LEVEL=2

ഇത് ഇതിനകം സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ 2 ആയി സജ്ജീകരിച്ചിരിക്കുന്നു (perlhacktips ലെ "PERL_DESTRUCT_LEVEL" കാണുക).

· പേൾ

(മാത്രം ഉപയോഗിച്ചത് t/TEST) സജ്ജീകരിച്ചാൽ, എക്സിക്യൂട്ടബിൾ പെർലിലേക്കുള്ള പാത അസാധുവാക്കുന്നു
ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു (സ്ഥിരസ്ഥിതി ./perl).

· PERL_SKIP_TTY_TEST

സജ്ജീകരിച്ചാൽ, ടെർമിനൽ ആവശ്യമുള്ള ടെസ്റ്റുകൾ ഒഴിവാക്കണമെന്ന് പറയുന്നു. ഇത് യഥാർത്ഥത്തിൽ യാന്ത്രികമായി സജ്ജീകരിച്ചിരിക്കുന്നു
Makefile വഴി, എന്നാൽ 'make test_notty' പ്രവർത്തിപ്പിച്ച് കൃത്രിമമായി നിർബന്ധിക്കുകയും ചെയ്യാം.

മറ്റു പരിസ്ഥിതി വേരിയബിളുകൾ കഴിയുക സ്വാധീനിക്കുന്നു ടെസ്റ്റുകൾ

· PERL_TEST_Net_Ping

ഈ വേരിയബിൾ സജ്ജീകരിക്കുന്നത് എല്ലാ Net ::Ping മൊഡ്യൂളുകളുടെ ടെസ്റ്റുകളും പ്രവർത്തിപ്പിക്കുന്നു, അല്ലാത്തപക്ഷം ചിലത് അത് പരിശോധിക്കുന്നു
പുറം ലോകവുമായുള്ള ഇടപെടൽ ഒഴിവാക്കപ്പെടുന്നു. perl58delta കാണുക.

· PERL_TEST_NOVREXX

ഈ വേരിയബിൾ സജ്ജീകരിക്കുന്നത് OS2::REXX-നുള്ള vrexx.t ടെസ്റ്റുകൾ ഒഴിവാക്കുന്നു.

· PERL_TEST_NUMCONVERTS

ഇത് op/numconvert.t-ൽ ഒരു വേരിയബിൾ സജ്ജമാക്കുന്നു.

· PERL_TEST_MEMORY

ഈ വേരിയബിൾ സജ്ജീകരിക്കുന്നതിൽ പരിശോധനകൾ ഉൾപ്പെടുന്നു t/bigmem/. ഇത് സെറ്റ് ചെയ്യണം
പരിശോധനയ്ക്കായി ലഭ്യമായ ജിഗാബൈറ്റ് മെമ്മറി, ഉദാ. "PERL_TEST_MEMORY=4"
4GiB ലഭ്യമായ മെമ്മറി ആവശ്യമുള്ള ടെസ്റ്റുകൾ സുരക്ഷിതമായി പ്രവർത്തിപ്പിക്കാൻ കഴിയുമെന്ന് സൂചിപ്പിക്കുന്നു.

കൂടുതൽ പരിതസ്ഥിതിക്ക് ടെസ്റ്റിനും ടെസ്റ്റിനുമുള്ള ഡോക്യുമെന്റേഷനും കാണുക ::ഹാർനെസ് മൊഡ്യൂളുകൾ
പരിശോധനയെ ബാധിക്കുന്ന വേരിയബിളുകൾ.

പ്രകടനം ടെസ്റ്റിംഗ്
ഫയൽ t/perf/benchmarks ഉദ്ദേശിച്ചിട്ടുള്ള perl കോഡിന്റെ സ്‌നിപ്പെറ്റുകൾ അടങ്ങിയിരിക്കുന്നു
പെർലുകളുടെ ഒരു ശ്രേണിയിലുടനീളം ബെഞ്ച്മാർക്ക് ചെയ്‌തിരിക്കുന്നു Porting/bench.pl ഉപകരണം. നിങ്ങൾ പരിഹരിക്കുകയോ മെച്ചപ്പെടുത്തുകയോ ചെയ്യുകയാണെങ്കിൽ a
പ്രകടന പ്രശ്നം, ഫയലിലേക്ക് ഒരു പ്രതിനിധി കോഡ് സാമ്പിൾ ചേർക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം, തുടർന്ന് റൺ ചെയ്യുക
ബെഞ്ച്.pl മുമ്പത്തേതും നിലവിലുള്ളതുമായ perls ന് എതിരെ അത് എന്ത് വ്യത്യാസമാണ് ഉണ്ടാക്കിയതെന്ന് കാണാൻ, ഒപ്പം
അതിന്റെ ഫലമായി മറ്റെന്തെങ്കിലും മന്ദഗതിയിലാണോ എന്ന്.

ഫയൽ t/perf/opcount.t ഒരു പ്രത്യേക കോഡ് സ്‌നിപ്പറ്റ് ഉണ്ടോ എന്ന് പരിശോധിക്കാൻ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു
നിർദ്ദിഷ്ട OP തരങ്ങളുടെ നിർദ്ദിഷ്ട നമ്പറുകൾ അടങ്ങുന്ന ഒരു optree-ലേക്ക് സമാഹരിച്ചിരിക്കുന്നു. ഇത് നല്ലതാണ്
"aelem" OP ആയി പരിവർത്തനം ചെയ്യുന്നത് പോലെയുള്ള ഒപ്റ്റിമൈസേഷനുകൾ ഓപ്‌സിൽ മാറ്റം വരുത്തുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിന്
ഒരു "aelemfast" op, ശരിക്കും അത് ചെയ്യുന്നു.

ഫയലുകൾ t/perf/speed.t ഒപ്പം t/re/speed.t ആയിരക്കണക്കിന് പ്രവർത്തിക്കുന്ന കാര്യങ്ങൾ പരിശോധിക്കുന്നതിനാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്
ഒരു പ്രത്യേക ഒപ്റ്റിമൈസേഷൻ തകരാറിലാണെങ്കിൽ, കുറച്ച് തവണ മന്ദഗതിയിലാകും (ഉദാഹരണത്തിന്, utf8 ലെങ്ത് കാഷെ
നീളമുള്ള utf8 സ്ട്രിംഗുകളിൽ). സാധാരണയായി സെക്കൻഡിന്റെ ഒരു ഭാഗം എടുക്കുന്ന ഒരു ടെസ്റ്റ് ചേർക്കുക, ഒപ്പം
മിനിറ്റുകൾ അല്ലാത്തപക്ഷം, ടെസ്റ്റ് ഫയൽ പരാജയപ്പെടുന്നതിന് സമയപരിധിക്ക് കാരണമാകുന്നു.

കൂടുതൽ വായിക്കുന്നു വേണ്ടി GUTS ഹാക്കർമാർ


പേൾ ഗട്ട്സ് ഹാക്ക് ചെയ്യാൻ, നിങ്ങൾ ഇനിപ്പറയുന്ന കാര്യങ്ങൾ വായിക്കേണ്ടതുണ്ട്:

· പെർൽസോഴ്സ്

പേൾ സോഴ്സ് ട്രീയുടെ ഒരു അവലോകനം. നിങ്ങൾ തിരയുന്ന ഫയലുകൾ കണ്ടെത്താൻ ഇത് നിങ്ങളെ സഹായിക്കും
വേണ്ടി.

· പെർലിന്റർപ്

പേൾ ഇന്റർപ്രെറ്റർ സോഴ്‌സ് കോഡിന്റെ ഒരു അവലോകനവും പേൾ എങ്ങനെ ചെയ്യുന്നു എന്നതിനെക്കുറിച്ചുള്ള ചില വിശദാംശങ്ങളും
അത് ചെയ്യുന്നു.

· perlhacktut

ഈ ഡോക്യുമെന്റ് പേളിന്റെ സി കോഡിലേക്ക് ഒരു ചെറിയ പാച്ച് സൃഷ്ടിക്കുന്നതിലൂടെ നടക്കുന്നു. നിങ്ങൾ ആണെങ്കിൽ
പേൾ കോർ ഹാക്കിംഗ് ആരംഭിക്കുന്നു, ഇത് എങ്ങനെയെന്ന് മനസ്സിലാക്കാൻ ഇത് നിങ്ങളെ സഹായിക്കും
പ്രവൃത്തികൾ.

· perlhacktips

പേൾ കോർ ഹാക്ക് ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾ. ഈ പ്രമാണം താഴ്ന്ന നിലയിലുള്ള വിശദാംശങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു
ടെസ്റ്റുകൾ എങ്ങനെ എഴുതാം, കംപൈലേഷൻ പ്രശ്നങ്ങൾ, പോർട്ടബിലിറ്റി, ഡീബഗ്ഗിംഗ് മുതലായവ.

ഗുരുതരമായ സി ഹാക്കിംഗ് നടത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഇത് വായിക്കുന്നത് ഉറപ്പാക്കുക.

· perlguts

ഇത് പരമപ്രധാനമാണ്, കാരണം ഇത് എവിടെ പോകുന്നു എന്നതിന്റെ ഡോക്യുമെന്റേഷനാണ്
പേൾ ഉറവിടം. ഒന്നുരണ്ടു പ്രാവശ്യം വായിച്ചു നോക്കൂ, അർത്ഥം വന്നു തുടങ്ങിയേക്കാം -
അത് ഇതുവരെ ഇല്ലെങ്കിൽ വിഷമിക്കേണ്ട, കാരണം അത് പഠിക്കാനുള്ള ഏറ്റവും നല്ല മാർഗം അത് വായിക്കുക എന്നതാണ്
പേൾ ഉറവിടത്തിൽ കുത്തുന്നതുമായി സംയോജിപ്പിക്കുക, ഞങ്ങൾ അത് പിന്നീട് ചെയ്യും.

ഗിസിൽ ആസിന്റെ "ഇല്ലസ്ട്രേറ്റഡ് പെർൽഗട്ട്സ്" എന്നും അറിയപ്പെടുന്നു ദുരാചാരങ്ങൾ, വളരെ സഹായകരമായ ചിത്രങ്ങളുണ്ട്:

<http://search.cpan.org/dist/illguts/>

· perlxstut, perlxs

XSUB പ്രോഗ്രാമിംഗിനെക്കുറിച്ചുള്ള പ്രവർത്തന പരിജ്ഞാനം കോർ ഹാക്കിംഗിന് അവിശ്വസനീയമാംവിധം ഉപയോഗപ്രദമാണ്; XSUBs
പിപി കോഡിൽ നിന്ന് എടുത്ത ടെക്നിക്കുകൾ ഉപയോഗിക്കുക, യഥാർത്ഥത്തിൽ എക്സിക്യൂട്ട് ചെയ്യുന്ന ധൈര്യത്തിന്റെ ഭാഗം
ഒരു പേർൾ പ്രോഗ്രാം. ലളിതമായ ഉദാഹരണങ്ങളിൽ നിന്നും ആ വിദ്യകൾ പഠിക്കുന്നത് വളരെ സൗമ്യമാണ്
കാമ്പിൽ നിന്നുള്ളതിനേക്കാൾ വിശദീകരണം.

· പെർലാപി

Perl API-യുടെ ഡോക്യുമെന്റേഷൻ ചില ഇന്റേണൽ ഫംഗ്‌ഷനുകൾ എന്താണ് ചെയ്യുന്നതെന്ന് വിശദീകരിക്കുന്നു
ഉറവിടത്തിൽ ഉപയോഗിക്കുന്ന നിരവധി മാക്രോകളും.

· Porting/pumpkin.pod

ഇത് ഒരു പേൾ പോർട്ടറുടെ ജ്ഞാനത്തിന്റെ വാക്കുകളുടെ ശേഖരമാണ്; അതിൽ ചിലത് ഉപയോഗപ്രദമാണ്
മത്തങ്ങ ഹോൾഡർക്ക്, പക്ഷേ അതിൽ ഭൂരിഭാഗവും പേളിനെക്കുറിച്ച് പോകാൻ ആഗ്രഹിക്കുന്ന ആർക്കും ബാധകമാണ്
വികസനം.

CPAN ടെസ്റ്ററുകൾ ഒപ്പം പേൾ പുകവലിക്കാർ


CPAN ടെസ്റ്ററുകൾ ( http://testers.cpan.org/ ) CPAN പരിശോധിക്കുന്ന ഒരു കൂട്ടം സന്നദ്ധപ്രവർത്തകരാണ്
വിവിധ പ്ലാറ്റ്ഫോമുകളിൽ മൊഡ്യൂളുകൾ.

പേൾ സ്മോക്കേഴ്സ് ( http://www.nntp.perl.org/group/perl.daily-build/ ഒപ്പം
http://www.nntp.perl.org/group/perl.daily-build.reports/ ) പേൾ ഉറവിടം സ്വയമേവ പരിശോധിക്കുന്നു
വിവിധ കോൺഫിഗറേഷനുകളുള്ള പ്ലാറ്റ്‌ഫോമുകളിൽ റിലീസ് ചെയ്യുന്നു.

രണ്ട് ശ്രമങ്ങളും സന്നദ്ധപ്രവർത്തകരെ സ്വാഗതം ചെയ്യുന്നു. പേളിന്റെ പുക പരിശോധനയിൽ ഏർപ്പെടുന്നതിന്
തന്നെ സന്ദർശിക്കുകhttp://search.cpan.org/dist/Test-Smoke/>. പുക പരിശോധന ആരംഭിക്കുന്നതിനായി
CPAN മൊഡ്യൂളുകൾ സന്ദർശിക്കുകhttp://search.cpan.org/dist/CPANPLUS-YACSmoke/> അല്ലെങ്കിൽ
<http://search.cpan.org/dist/minismokebox/> അല്ലെങ്കിൽ
<http://search.cpan.org/dist/CPAN-Reporter/>.

എന്ത് അടുത്തത്?


ഡോക്യുമെന്റിലെ എല്ലാ ഡോക്യുമെന്റേഷനുകളും മുകളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്നവയും നിങ്ങൾ വായിച്ചിട്ടുണ്ടെങ്കിൽ, നിങ്ങളാണ്
Perl-ൽ ഹാക്ക് ചെയ്യാൻ തയ്യാറാണ്.

ചില കൂടുതൽ ശുപാർശകൾ ഇതാ

· perl5-porters-ലേക്ക് സബ്‌സ്‌ക്രൈബ് ചെയ്യുക, പാച്ചുകൾ പിന്തുടരുക, അവ മനസിലാക്കാൻ ശ്രമിക്കുക; ആകരുത്
നിങ്ങൾക്ക് വ്യക്തമല്ലാത്ത ഒരു ഭാഗമുണ്ടോ എന്ന് ചോദിക്കാൻ ഭയപ്പെടുന്നു - ആർക്കറിയാം, നിങ്ങൾക്ക് ഒരു കണ്ടെത്താനാകും
പാച്ചിലെ ബഗ്...

നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റവുമായി ബന്ധപ്പെട്ട README വായിക്കുക, ഉദാ: IBM-ൽ README.aix
AIX OS. നഷ്‌ടമായ എന്തെങ്കിലും കണ്ടെത്തുകയാണെങ്കിൽ ആ README-ലേക്ക് പാച്ചുകൾ നൽകാൻ മടിക്കരുത്
അല്ലെങ്കിൽ ഒരു പുതിയ OS റിലീസിലൂടെ മാറ്റി.

· നിങ്ങൾക്ക് താൽപ്പര്യമുള്ളതായി തോന്നുന്ന Perl-ന്റെ ഒരു പ്രദേശം കണ്ടെത്തുക, അത് എങ്ങനെ പ്രവർത്തിക്കുമെന്ന് നോക്കുക
പ്രവർത്തിക്കുന്നു. ഉറവിടത്തിലൂടെ സ്‌കാൻ ചെയ്‌ത് ഡീബഗ്ഗറിൽ ചുവടുവെക്കുക. കളിക്കുക, കുത്തുക,
അന്വേഷണം, ഫിഡിൽ! നിങ്ങൾ തിരഞ്ഞെടുത്ത പ്രദേശം മാത്രമല്ല, എ
കൂടുതൽ വിശാലമായ ശ്രേണി മുത്ത്ന്റെ പ്രവർത്തനവും, ഒരുപക്ഷേ നിങ്ങൾ വിചാരിക്കുന്നതിലും വേഗത്തിൽ.

"ആ റോഡ് പോകുന്നു എന്നേക്കും on ഒപ്പം അത് താഴേക്ക് നിന്ന് The വഴി എവിടെ it തുടങ്ങി."
നിങ്ങൾക്ക് ഈ കാര്യങ്ങൾ ചെയ്യാൻ കഴിയുമെങ്കിൽ, നിങ്ങൾ പേൾ പോർട്ടിംഗിലേക്കുള്ള ദീർഘമായ പാതയിൽ ആരംഭിച്ചിരിക്കുന്നു. നന്ദി
പേളിനെ മികച്ചതാക്കാൻ സഹായിക്കാൻ ആഗ്രഹിക്കുന്നു - സന്തോഷകരമായ ഹാക്കിംഗും!

മെറ്റാഫോറിക് ഉദ്ധരണികൾ
മുകളിലെ റോഡിനെക്കുറിച്ചുള്ള ഉദ്ധരണി നിങ്ങൾ തിരിച്ചറിഞ്ഞെങ്കിൽ, നിങ്ങൾ ഭാഗ്യവാനാണ്.

മിക്ക സോഫ്‌റ്റ്‌വെയർ പ്രോജക്‌റ്റുകളും ഓരോ ഫയലിന്റെയും ഉദ്ദേശ്യത്തെക്കുറിച്ചുള്ള അക്ഷരീയ വിവരണത്തോടെയാണ് ഓരോ ഫയലും ആരംഭിക്കുന്നത്.
പകരം പേൾ ഓരോന്നും ആരംഭിക്കുന്നത് ആ ഫയലിന്റെ ഉദ്ദേശ്യത്തെക്കുറിച്ചുള്ള ഒരു സാഹിത്യ സൂചനയോടെയാണ്.

പല പുസ്‌തകങ്ങളിലെയും അധ്യായങ്ങൾ പോലെ, എല്ലാ ടോപ്പ്-ലെവൽ പേൾ സോഴ്‌സ് ഫയലുകളും (ഇവിടെയുള്ള മറ്റുള്ളവയ്‌ക്കൊപ്പം
അവിടെ) പരോക്ഷമായും സൂചിപ്പിക്കുന്ന ഒരു എപ്പിഗ്രാമാറ്റിക് ലിഖിതത്തിൽ ആരംഭിക്കുക
രൂപകമായി, നിങ്ങൾ വായിക്കാൻ പോകുന്ന മെറ്റീരിയലിലേക്ക്.

ഉദ്ധരണികൾ ജെആർആർ ടോൾകീന്റെ ഇതിഹാസവുമായി ബന്ധപ്പെട്ട രചനകളിൽ നിന്നാണ് എടുത്തത്
എപ്പോഴും നിന്ന് ദി യജമാനൻ of The റിങ്സ്. അദ്ധ്യായങ്ങളും പേജ് നമ്പറുകളും ഉപയോഗിച്ച് നൽകിയിരിക്കുന്നു
ഇനിപ്പറയുന്ന പതിപ്പുകൾ:

· ദി ഹോബിറ്റ്, JRR ടോൾകീൻ എഴുതിയത്. 70-ലെ 2007-ാം വാർഷിക പതിപ്പായിരുന്നു
ഉപയോഗിച്ചത്, യുകെയിൽ ഹാർപ്പർ കോളിൻസ് പബ്ലിഷേഴ്‌സും യുഎസിൽ ഹൗട്ടനും പ്രസിദ്ധീകരിച്ചത്
മിഫ്ലിൻ കമ്പനി.

· ദി യജമാനൻ of The റിങ്സ്, JRR ടോൾകീൻ എഴുതിയത്. ഹാർഡ്‌കവർ, 50-ാം വാർഷിക പതിപ്പ്
2004 ഉപയോഗിച്ചത്, യുകെയിൽ ഹാർപ്പർ കോളിൻസ് പബ്ലിഷേഴ്‌സും യുഎസിൽ പ്രസിദ്ധീകരിച്ചത്
ഹൗട്ടൺ മിഫ്ലിൻ കമ്പനി.

· ദി കിടക്കുന്നു of ബെലേരിയാൻഡ്, JRR ടോൾകീൻ എഴുതിയതും മരണാനന്തരം അദ്ദേഹത്തിന്റെ മകനും പ്രസിദ്ധീകരിച്ചതും
ലിറ്റററി എക്സിക്യൂട്ടർ, സിജെആർ ടോൾകീൻ, ക്രിസ്റ്റഫറിന്റെ 3 വാല്യങ്ങളിൽ മൂന്നാമത്തേത്
മാമോത്ത് ചരിത്രം of മധ്യത്തിൽ ഭൂമി. പേജ് നമ്പറുകൾ ഹാർഡ് കവർ പതിപ്പിൽ നിന്ന് ഉരുത്തിരിഞ്ഞതാണ്,
1983-ൽ ജോർജ് അലൻ & അൺവിൻ ആദ്യമായി പ്രസിദ്ധീകരിച്ചു; എന്നതിനായി പേജ് നമ്പറുകളൊന്നും മാറ്റിയിട്ടില്ല
3-ലെ പ്രത്യേക 2002-വോളിയം ഓമ്‌നിബസ് പതിപ്പ് അല്ലെങ്കിൽ വിവിധ ട്രേഡ്-പേപ്പർ പതിപ്പുകൾ, എല്ലാം
വീണ്ടും ഇപ്പോൾ ഹാർപ്പർ കോളിൻസ് അല്ലെങ്കിൽ ഹൗട്ടൺ മിഫ്ലിൻ.

ഉദ്ധരണികൾക്കായുള്ള മറ്റ് JRRT ബുക്‌സ് ഫെയർ ഗെയിമുകൾ ഉൾപ്പെടും ദി സാഹസികത of ടോം ബോംബാടിൽ,
ദി സിൽമറില്യൺ, പൂർത്തിയാകാത്തത് കഥകൾ, ഒപ്പം ദി കഥ of The കുട്ടികൾ of ഹുറിൻ, എല്ലാം ഒഴികെ
ആദ്യം മരണാനന്തരം CJRT അസംബിൾ ചെയ്തു. പക്ഷേ ദി യജമാനൻ of The റിങ്സ് അതുതന്നെ തികച്ചും നല്ലതാണ്
നിങ്ങൾക്ക് അനുയോജ്യമായ ഒരു ഉദ്ധരണി അവിടെ കണ്ടെത്താനായാൽ, ഉദ്ധരിക്കുന്നതാണ് നല്ലത്.

അതിനാൽ, Perl-ലേക്ക് ചേർക്കുന്നതിന് നിങ്ങൾ ഒരു പുതിയ, പൂർണ്ണമായ, ഉയർന്ന തലത്തിലുള്ള ഉറവിട ഫയൽ നൽകുകയാണെങ്കിൽ, നിങ്ങൾ അത് ചെയ്യണം
എന്നതിൽ നിന്ന് ഉചിതമായ ഉദ്ധരണി തിരഞ്ഞെടുത്ത് ഈ പ്രത്യേക സമ്പ്രദായത്തോട് പൊരുത്തപ്പെടുക
ടോൾകീൻ, യഥാർത്ഥ അക്ഷരവിന്യാസവും വിരാമചിഹ്നവും നിലനിർത്തുകയും അതേ ഫോർമാറ്റ് ഉപയോഗിക്കുകയും ചെയ്യുന്നു
ബാക്കിയുള്ള ഉദ്ധരണികൾ ഉണ്ട്. പരോക്ഷവും ചരിഞ്ഞതും നല്ലതാണ്; ഓർക്കുക, ഇതൊരു രൂപകമാണ്,
അതിനാൽ മെറ്റാ ആകുന്നത്, എല്ലാത്തിനുമുപരി, അത് എന്തിനാണ്.

onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് perlhack ഓൺലൈനായി ഉപയോഗിക്കുക


സൗജന്യ സെർവറുകളും വർക്ക്സ്റ്റേഷനുകളും

Windows & Linux ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്യുക

ലിനക്സ് കമാൻഡുകൾ

Ad




×
വിജ്ഞാപനം
❤️ഇവിടെ ഷോപ്പുചെയ്യുക, ബുക്ക് ചെയ്യുക അല്ലെങ്കിൽ വാങ്ങുക — ചെലവില്ലാതെ, സേവനങ്ങൾ സൗജന്യമായി നിലനിർത്താൻ സഹായിക്കുന്നു.