ಪರ್ಲ್
ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾದರಿ (ಪ್ಯಾರಾಡಿಗಮ್) | multi-paradigm: functional, imperative, object-oriented (class-based) |
---|---|
ಬಿಡುಗಡೆ | 1987 |
ವಿನ್ಯಾಸಗೊಳಿಸಿದ | Larry Wall |
ಸಾಫ್ಟ್ವೇರ್ ರಿಲೀಸ್ ಲೈಫ್ ಸೈಕಲ್ | 5.24.0 (ಮೇ 9, 2016 | )
ಮುನ್ನೋಟ ಬಿಡುಗಡೆ | 5.11.3 (ಡಿಸೆಂಬರ್ 20, 2009 | )
ಟೈಪಿಂಗ್ | Dynamic |
ಪ್ರಭಾವಿತವಾಗಿದೆ | AWK, Smalltalk 80, Lisp, C, C++, sed, Unix shell, Pascal |
ಪ್ರಭಾವಿತವಾಗಿದೆ | Python, PHP, Ruby, ECMAScript, Dao, Windows PowerShell, JavaScript, Falcon |
ಅನುಷ್ಠಾನ ಭಾಷೆ | C |
ಓಎಸ್ | Cross-platform |
ಪರವಾನಗಿ | GNU General Public License, Artistic License |
ಜಾಲತಾಣ | http://www.perl.org/ |
|
ಪರ್ಲ್ ಎಂಬುದೊಂದು ಕಂಪ್ಯೂಟರ್ ಯಂತ್ರವನ್ನಾಧರಿಸಿದ, ಸಾರ್ವತ್ರಿಕ-ಬಳಕೆಗಾಗಿ , ವ್ಯಾಖ್ಯಾನಿಸಬಹುದಾದ, ಕ್ರಿಯಾಶಕ್ತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ.(ಕಾಂಪೂಟರ್ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ) ಪರ್ಲ್ ಅನ್ನು ಮೂಲತಃ ಲಾರಿ ವಾಲ್ ಅಭಿವೃದ್ಧಿ ಪಡಿಸಿದರು, ಈತ ಒಬ್ಬ ಕಾಂಪೂಟರ್ ಭಾಷಾತಜ್ಞ ಮತ್ತು ಸಿಸ್ಟೆಮ್ಸ್ ಕಾರ್ಯನಿರ್ವಾಹಕರಾಗಿ ನಾಸಾಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರು, 1987ರಲ್ಲಿ, ಒಂದು ಯುನಿಕ್ಸ್ ಲಿಪಿಯ ಭಾಷೆಯನ್ನು ಸಾಮಾನ್ಯ-ಬಳಕೆಯ ಉದ್ದೇಶದಿಂದ ವರದಿ ಪ್ರಕ್ರಿಯೆ ಸುಲಭಗೊಳಿಸಲು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು.[೧][೨] ಅಲ್ಲಿಂದೀಚೆಗೆ, ಅದು ಹಲವಾರು ಬದಲಾವಣೆಗಳಿಗೆ ಒಳಗಾಯಿತಲ್ಲದೇ ಪರಿಷ್ಕೃತವಾಯಿತು. ಇದು ಪ್ರೋಗ್ರಾಮರ್ಸ್ ನಡುವೆ ವ್ಯಾಪಕ ಜನಪ್ರಿಯತೆಗೆ ಒಳಗಾಯಿತು. ಲಾರಿ ವಾಲ್ ರ ಮೇಲ್ವಿಚಾರಣೆಯಲ್ಲಿ ಕೋರ್ (ಒಳತಿರುಳಿನ) ಭಾಷೆಯ ಬೆಳವಣಿಗೆ ಮುಂದುವರೆದಿದೆ, ಅಲ್ಲದೇ ಅದರ ಮುಂದುವರಿದ ಭಾಗವೇ, ಪರ್ಲ್ 6.
ಪರ್ಲ್ ಹಲವು ವಿಶಿಷ್ಟತೆಗಳನ್ನು ಇತರ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಭಾಷೆಗಳಾದ C, ಶೆಲ್ ಲಿಪಿ, ಶ, AWK, ಮತ್ತು ಸೆಡ್ ನಿಂದ ಎರವಲು ಪಡೆದಿದೆ.[೩] ಭಾಷೆಯು ಪ್ರಬಲ ಪಠ್ಯ ಪರಿಷ್ಕರಣಾ ಸೌಲಭ್ಯವನ್ನು ಹಲವು ಸಮಕಾಲಿಕ ಯುನಿಕ್ಸ್ ಸಾಧನಗಳ[೪] ಅನಿಯಂತ್ರಿತ ಡಾಟಾ ಅದರ ದೀರ್ಘತೆಯ ಮಿತಿ ಇಲ್ಲದೆ ಒದಗಿಸುತ್ತದೆ,(ಪಠ್ಯ ಕಡತ) ಟೆಕ್ಸ್ಟ್ ಫೈಲುಗಳ ಸುಲಭ ನಿರ್ವಹಣೆಗೆ ಸಹಾಯಮಾಡುತ್ತದೆ. ಇದನ್ನು ಗ್ರಾಫಿಕ್ಸ್ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್, ಹಲವು ವಿಧಾನಗಳ ಸಿಸ್ಟಮ್ ಕಾರ್ಯ ನಿರ್ವಹಣೆ, ನೆಟ್ವರ್ಕ್ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್, ಉಪಯೋಗಕ್ಕಾಗಿ ಅಳವಡಿಸುವ ಡಾಟಾಬೇಸ್ ಅಕ್ಸೆಸ್ ಮತ್ತು ಅಂತರಜಾಲದಲ್ಲಿನ CGI ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ಗೆ ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಪರ್ಲ್ ಅನ್ನು ಇದರ ನಮ್ಯತೆ ಮತ್ತು ಹೊಂದಾಣಿಕೆಯಿಂದ "ದಿ ಸ್ವಿಸ್ಸ್ ಆರ್ಮಿ ಚೈನ್ಸಾ ಆಫ್ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಲಾಂಗ್ವೆಜೆಸ್" ಎಂಬ ಅಡ್ಡ ಹೆಸರಿನಿಂದ ಕರೆಯಲಾಗುತ್ತದೆ.[೫]
ಇತಿಹಾಸ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲಿನ ಮೊದಲ ರೂಪ
[ಬದಲಾಯಿಸಿ]ಲಾರಿ ವಾಲ್ , ಪರ್ಲ್ ಬಗ್ಗೆ ತಮ್ಮ ಅಧ್ಯಯನ ಕಾರ್ಯವನ್ನು 1987ರಲ್ಲಿ ಯುನೈಸಿಸ್ನಲ್ಲಿ[೬] ಪ್ರೋಗ್ರಾಮ್ಮರ್ ಆಗಿರುವ ಸಮಯದಲ್ಲಿ ಪ್ರಾರಂಭ ಮಾಡಿದರು, ಇದು ಕಂಪ್.ಸೋರ್ಸೆಸ್.ಮಿಸ್ಕ್ ಸುದ್ದಿಗುಂಪಿಗೆ ಡಿಸೆಂಬರ್ 18, 1987ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ ರೂಪ 1.0.[೭] ಇದಾಗಿತ್ತು. (ಸ್ಕ್ರಿಪ್ಟಿಂಗ್)ಭಾಷೆಯು ಮುಂದಿನ ಕೆಲವು ವರ್ಷಗಳಲ್ಲಿ ಕ್ಷಿಪ್ರವಾಗಿ ವಿಸ್ತರಿಸಿತು.
1988ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ ಪರ್ಲ್ 2, ಒಂದು ಉತ್ತಮ ವ್ಯವಸ್ಥಿತವಾದ ನಿರೂಪಣಾ ಎಂಜಿನಿನ ವಿಶಿಷ್ಟತೆ ಹೊಂದಿತ್ತು. 1989ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ ಪರ್ಲ್ 3, ದ್ವಿಸಂಕೇತ ಡಾಟಾ ಗುಂಪಿನ ಪ್ರವಾಹಕ್ಕೆ ನೆರವು ನೀಡಿತು.
ಮೂಲತಃ ಒಂದೇ ಒಂದು ಪರ್ಲಿನ ದಾಖಲೆಯೆಂದರೆ ಒಂದು (ಹೆಚ್ಚು ವಿಸ್ತೃತ)ಹಸ್ತಪ್ರತಿ. ಕಳೆದ 1991ರಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಪರ್ಲ್ ("ಕ್ಯಾಮೆಲ್ ಬುಕ್" ಎಂದೇ ಹಲವು ಪರ್ಲ್ ಪ್ರೋಗ್ರಮ್ಮರ್ಸ್ಗೆ ಪರಿಚಿತ) ಪ್ರಕಟವಾಯಿತು. ಅಲ್ಲದೇ ಇದು ಭಾಷೆಗೆ ಪರವಾದ ಆಕರವಾಯಿತು. ಅದೇ ಸಮಯದಲ್ಲಿ, ಪರ್ಲಿನ ರೂಪ ನಾಲ್ಕಕ್ಕೆ ಪುಟಿಯಿತಾದರೂ ಭಾಷೆಯ ಬಳಕೆಯ ಮೇಲೆ ಮಹತ್ವದ ಬದಲಾವಣೆಯನ್ನೇನೂ ತರಲಿಲ್ಲ. ಆದರೆ ಪುಸ್ತಕದಲ್ಲಿ ದಾಖಲಿಸುವ ಸಲುವಾಗಿ ಅದರ ಸ್ವರೂಪ ಗುರುತಿಸಲಾಯಿತು.
ಆರಂಭದ ಪರ್ಲ್ 5
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ 4, ಒಂದು ಮೇಲ್ವಿಚಾರಣಾ ಸರಣಿಯಾಗಿ ಬಿಡುಗಡೆಮಾಡಿತು, ಇದು 1993ರಲ್ಲಿ ಪರ್ಲ್ 4.036ರೊಂದಿಗೆ ಸೇರ್ಪಡೆಯಾಯಿತು. ಆ ಹಂತದಲ್ಲಿ, ವಾಲ್ ಪರ್ಲ್ 4ನ್ನು ಕೈಬಿಟ್ಟು ಪರ್ಲ್ 5ರ ಮೇಲೆ ತಮ್ಮ ಕೆಲಸ ಪ್ರಾರಂಭಿಸಿದರು. ಪರ್ಲ್ 5ರ ಪ್ರಾಥಮಿಕ ವಿನ್ಯಾಸ 1994ರವರೆಗೂ ಮುಂದುವರೆಯಿತು. ಪರ್ಲ್ 5ರ ಸಂಪರ್ಕಕೊಂಡಿ ಮೇಲ್ ಪಟ್ಟಿ ಮೇ 1994ರಲ್ಲಿ ಸ್ಥಾಪಿತವಾಗಿ ಪರ್ಲ್ 5ರ ಸಂಪರ್ಕಕೊಂಡಿಯೊಂದಿಗೆ ಸುಸಂಘಟಿತಗೊಂಡು ವಿವಿಧ ವೇದಿಕೆಗಳಲ್ಲಿ ಸಹಭಾಗಿಯಾಗಿದೆ. ಇದು ಪ್ರಾಥಮಿಕ ಚರ್ಚಾ ವಿಷಯವಾಗಿ ಅಭಿವೃದ್ಧಿ ,ರಕ್ಷಣೆ, ಮತ್ತು ಪರ್ಲ್ 5ರ ಸಂಪರ್ಕ ಕೊಂಡಿಯಾಗಿ ಉಳಿಯಿತು.[೮]
ಪರ್ಲ್ 5.000ವನ್ನು ಅಕ್ಟೋಬರ್ 17, 1994ರಲ್ಲಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು.[೯] ಇದು ನಿರೂಪಕನ ಪೂರ್ಣ ಪರಿಷ್ಕರಣೆಯಲ್ಲದೇ, ಹಲವು ಹೊಸ ವೈಶಿಷ್ಟ್ಯತೆಗಳನ್ನು ಹೆಚ್ಚಿಸಿದೆ, ಇದರಲ್ಲಿ ವಸ್ತು, ಆಕರ (ನಿಘಂಟಿನ ವ್ಯತ್ಯಾಸಗಳ) ಲೆಕ್ಸಿಕಲ್(ಮೈ)ವೆರಿಯಬಲ್ಸ್, ಮತ್ತು(ಸ್ವಯಂ ಉಪಕರಣದ ಭಾಗ) ಮಾಡ್ಯೂಲ್ ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಪ್ರಮುಖವಾಗಿ,ಭಾಷೆಯ ಅರ್ಥ ವಿವರಣೆಗೆ ಮಾಡ್ಯೂಲ್ಗಳು, ಯಾಂತ್ರಿಕ ವಿಧಾನದ ಮೂಲಕ ವಿವರಗಳನ್ನು ಪರಿವರ್ತಿಸದೆ ಒದಗಿಸುತ್ತದೆ. ಇದು ಭಾಷೆಯ ತಿರುಳಿನ ಅರ್ಥವಿವರಣೆಯನ್ನು ಸ್ಥಿರಗೊಳಿಸಲು ಅವಕಾಶಮಾಡಿಕೊಡುತ್ತದೆ, ಅಲ್ಲದೇ ಸಾಮಾನ್ಯ ಪರ್ಲ್ ಪ್ರೋಗ್ರಾಮರ್ಸ್ ಹೊಸ ಭಾಷೆಯ ಗುಣಲಕ್ಷಣ,ವೈಶಿಷ್ಟ್ಯತೆ ಹೆಚ್ಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪರ್ಲ್ 5 ಅಂದಿನಿಂದ ತೀಕ್ಷ್ಣ ಪ್ರಗತಿ ಹೊಂದುತ್ತಿದೆ.
ಪರ್ಲ್ 5.001 ಮಾರ್ಚ್ 13, 1995ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾಯಿತು. ಪರ್ಲ್ 5.002 ಫೆಬ್ರವರಿ 29 1996ರಂದು ಹೊಸ ಪ್ರಯೋಗ ಮಾದರಿಯ ಲಕ್ಷಣದೊಂದಿಗೆ ಬಿಡುಗಡೆಯಾಯಿತು. ಇದು ಮಾಡ್ಯೂಲ್ ಬರಹದ ಸೃಷ್ಟಿಕರ್ತರಿಗೆ ಪ್ರಕ್ರಿಯೆ ನಡೆಸಲು ರೂಪಿಸಿರುವ ಮಾಮೂಲು ಕ್ರಮಗಳನ್ನು ಪಾಲಿಸುವಂತೆ ಅಲ್ಲದೇ ಪರ್ಲಿನ ಆಂತರಿಕ ಅಂಗ-ಅವಯವದಂತೆ ವರ್ತಿಸುತ್ತವೆ. ಪರ್ಲ್ 5.003 ಜೂನ್ 25, 1996ರಲ್ಲಿ ಇದನ್ನು ಭದ್ರತಾ ಅಥವಾ ಸುರಕ್ಷತಾ ಬಿಡುಗಡೆಯಂತೆ ಹೊರತರಲಾಯಿತು.
ಪರ್ಲ್ 5ರ ಇತಿಹಾಸದಲ್ಲಿ ಅತ್ಯಂತ ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಭಾಷಾ ಶುದ್ದತೆ ಕಾರ್ಯ ನಡೆಯಿತು. ಇದು ಮಾಡ್ಯೂಲ್ ಸಹಾಯದ ಒಂದು ಪರಿಣಾಮ.
ಅಕ್ಟೋಬರ್ 26, 1995ರಲ್ಲಿ, ದಿ ಕಾಮ್ಪ್ರೆಹೆನ್ಸಿವ್ ಪರ್ಲ್ ಅರ್ಚ್ಹಿವ್ ನೆಟ್ವರ್ಕ್ (CPAN) ಒಂದು ಪರ್ಲ್ ಮಾಡ್ಯೂಲ್ ಮತ್ತು ಸ್ವತಃ ಪರ್ಲ್ ಮಳಿಗೆಯನ್ನು ಸ್ಥಾಪಿಸಿತು. ಬರವಣಿಗೆ ಸಿದ್ದಪಡಿಸುವ ಸಮಯದಲ್ಲಿ, ಅದು 7,000 ಕ್ಕಿಂತ ಅಧಿಕ ಲೇಖಕರ 17,000 ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಹೊತ್ತಿರುತ್ತದೆ. CPAN ಪರ್ಲಿನ ವ್ಯಾಪಕವಾದ ಒಂದು ಪ್ರಮುಖ ಶಕ್ತಿಯಾಗಿ ಬಳಕೆಯಲ್ಲಿದೆ.
ಪರ್ಲ್ 5.004 ಮಾದರಿ ಮೇ 15 1997ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾಯಿತು. ಅದು ಇತರೆ ವಸ್ತುಗಳ ಜೊತೆಗೆ UNIVERSAL ಪ್ಯಾಕೇಜ್ ಒಳಗೊಂಡಿತು. ಇದು ಪರ್ಲ್ ಗೆ ಒಂದು ಆಧಾರ ಮಾಹಿತಿ ಕೊಟ್ಟು ಇದರಿಂದ ಎಲ್ಲ ಶ್ರೇಣಿಗಳು ಅಪ್ರಯತ್ನವಾಗಿ ಹುಟ್ಟಿಕೊಂಡವು. ಇದರೊಟ್ಟಿಗೆ ಬೇರೆ ರೂಪದ ಮಾಡ್ಯೂಲ್ಗಳ ಸಾಮರ್ಥ್ಯವೂ ಪರಿಗಣಿತವಾಯಿತು. ಇದರ ಜೊತೆಗೆ, ಪರ್ಲ್ ಈಗ ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ಮತ್ತು ಹಲವು ವಿಭಿನ್ನ ಚಾಲನಾ ಕಾರ್ಯ ವಿಧಾನದ ವ್ಯವಸ್ಥೆಗಳ ಸಹಯೋಗದೊಂದಿಗೆ ಮುನ್ನಡೆಯುತ್ತಿದೆ.[೧೦]
ಪರ್ಲ್ 5.005 ಜುಲೈ 22, 1998ರಂದು ಬಿಡುಗಡೆಗೊಂಡಿತು. ಈ ಬಿಡುಗಡೆಯು ಹಲವಾರು ಉತ್ತೇಜನಗಳಾದ ರಿಜೆಕ್ಸ್ (ಪಠ್ಯಗಳ ಪರ್ಯಾಯಗಳ)ಇಂಜಿನ್ ಹೊಂದಿದೆ, ಹೊಸ ಕೊಂಡಿಗಳನ್ನು ಹಿಂಭಾಗದ ಅಂತ್ಯಕ್ಕೆ ಈ ಮೂಲಕ ಅಳವಡಿಸಲಾಗಿದೆ. ದಿ B::*
ಮಾಡ್ಯೂಲ್ಗಳು, ದಿ qr//
ರಿಜೆಕ್ಸ್ ನಿರ್ವಾಹಕನ ವಿವರ ಹೇಳಿಕೆಯನ್ನು ನಮೂದಿಸುತ್ತದೆ, ಇತರ ಹೊಸ (ಒಳತಿರುಳು) ಕೋರ್ ಮಾಡ್ಯೂಲ್ಗಳ ಒಂದು ದೊಡ್ಡ ಆಯ್ಕೆ ಮತ್ತು ಹಲವು ಅಧಿಕ ಕಾರ್ಯ ವ್ಯವಸ್ಥೆ BeOSಗೆ ಸಹಾಯ ಒದಗಿಸಿದೆ.[೧೧]
2000—ಪ್ರಚಲಿತ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ 5.6ರನ್ನು ಮಾರ್ಚ್ 22, 2000ದಂದು ಬಿಡುಗಡೆಮಾಡಲಾಯಿತು.
ಇದರಲ್ಲಿ ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು 64 ಸಣ್ಣ ಆಧಾರ, ಯುನಿಕೋಡಿನ ತಂತು ಸಂಕೇತದ ಅಸ್ತಿತ್ವ, ದೊಡ್ಡ ಫೈಲ್ ಆಧಾರ (ಉದಾ, ಫೈಲ್ಸ್ > 2 GiB) ಮತ್ತು 'ಅವರ್' ಎಂಬ ಮುಖ್ಯಸೂಚಿಪದ.[೧೨][೧೩] ಪರ್ಲ್ 5.6ನ್ನು ಅಭಿವೃದ್ದಿ ಪಡಿಸುವಾಗ, ಸ್ವರೂಪ ವ್ಯವಸ್ಥೆಯನ್ನು ನಿಕಟವಾಗಿ ಇತರ ಮೂಲ ಯೋಜನೆಯ ಜೊತೆ ಪರಸ್ಪರ ಬದಲಾಯಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು; 5.005_63ಯ ನಂತರ, ಮುಂದಿನ ರೂಪ 5.5.640, ಬೆಸ ಸಂಖ್ಯೆಯ ರೂಪ ಮತ್ತು ಸಮ ಸಂಖ್ಯೆಯ ಸ್ಥಿರ ರೂಪದ ಅಭಿವೃದ್ದಿಗೆ ಯೋಜನೆ ರೂಪಿಸಲಾಯಿತು.
ಕಳೆದ 2000ರಲ್ಲಿ, ಲಾರಿ ವಾಲ್ ಪರ್ಲ್ ಸಮುದಾಯದಿಂದ ಒಂದು ಹೊಸ ರೂಪದ ಬಗ್ಗೆ ಅಭಿಪ್ರಾಯ ಸಂಗ್ರಹಣೆಗೆ ಕರೆಯಿತ್ತರು. ಈ ಪರಿಷ್ಕರಣೆಯ ಪರಿಣಾಮ 361 RFCಗಳ ( ರಿಕ್ವೆಸ್ಟ್ ಫಾರ್ ಚೇಂಜ್) ಪರ್ಲ್ 6ರ ಅಭಿವೃದ್ದಿಗೆ ಮಾರ್ಗದರ್ಶಕವಾಗಿದ್ದ ದಾಖಲೆಗಳನ್ನು ಬದಲಾಯಿಸಬೇಕೆಂಬ ಫಲಿತಾಂಶ ದೊರೆಯಿತು. ಕಳೆದ 2001[೧೪] ರಲ್ಲಿ, ಪರ್ಲ್ 6ರ ಭವಿಷ್ಯತ್ ಕೆಲಸಗಳು ಪ್ರಾರಂಭವಾದವು. ಬದಲಾವಣೆಗಾಗಿ ಬಂದ ಕೋರಿಕೆಯ ಮೇರೆಗೆ ದಾಖಲೆಯ ಒಂದು ಸರಣಿಯನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಪರ್ಲ್ ನ ಮುಂದಿನ ನೂತನ ವಿನ್ಯಾಸವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುವುದೇ ಇದರ ಉದ್ದೇಶ ಆಗಿತ್ತು. ಒಂದು ಕ್ರಮಬದ್ದ ದಾಖಲೆಗಿಂತ ಹೆಚ್ಚಾಗಿ, ಅವುಗಳನ್ನು RFCಗಳ ಕ್ರೋಢೀಕರಣವೆಂದು ಪ್ರಸ್ತುತಪಡಿಸಲಾಯಿತು. ಈ ಹಂತದಲ್ಲಿ, ಪರ್ಲ್ 6 ಕೇವಲ ಒಂದು ಭಾಷೆಯ ವಿಷಯ ವರ್ಣನೆಯಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿತ್ತು.
ಪರ್ಲ್ 5.8 ಅನ್ನು ಜುಲೈ 18, 2002ರಲ್ಲಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಅಂದಿನಿಂದ ಹೆಚ್ಚುಕಡಿಮೆ ಪ್ರತಿ ವರ್ಷವೂ ಇದು ಪರಿಷ್ಕೃತಗೊಂಡಿದೆ. ಪರ್ಲ್ 5.8ರ ಹೊಸ ರೂಪ 5.8.9, ಡಿಸೆಂಬರ್ 14, 2008ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾಯಿತು. ಯುನಿಕೋಡಿನ ಸಹಾಯವನ್ನು ಪರ್ಲ್ 5.8 ಅಭಿವೃದ್ಧಿಪಡಿಸಿತು, ಹೊಸ IO(ಕಾರ್ಯ ವಿಧಾನ) ವನ್ನು ಸೇರಿಸಿ ಸಜ್ಜುಗೊಳಿಸಿತು, ಒಂದು ಹೊಸ ಎಳೆಯನ್ನು ಕ್ರಿಯಾಶೀಲಗೊಳಿಸಿ, ಸಂಖ್ಯಾ ನಿಖರತೆಯನ್ನು ಹೆಚ್ಚಿಸಿ, ಹಲವು ಹೊಸ ಮಾಡ್ಯೂಲ್ಗಳ ಅಭಿವೃದ್ದಿಗೆ ನೆರವಾಯಿತು.
ಕಳೆದ 2004ರಲ್ಲಿ, ಸಿನೋಪ್ಸಿಸ್-ಮೂಲ ದಾಖಲೆಗಳು ಆಪೋಕ್ಯಾಲಿಪ್ಸ್ ಅನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸುವ ಕಾರ್ಯ ಪ್ರಾರಂಭವಾಯಿತು, ಆದರೆ ಅದು ಪರ್ಲ್ 6 ಭಾಷೆಯ ನಿರ್ದಿಷ್ಟ ವಿವರಣೆಯಾಯಿತು. ಫೆಬ್ರವರಿ 2005ರಲ್ಲಿ, ಆಡ್ರೆಯ್ ಟಂಗ್ ಪಗ್ಸ್ ಗಳ ಮೇಲೆ ಕೆಲಸ ಪ್ರಾರಂಭ ಮಾಡಿದರು, ಹಸ್ಕೆಲ್ನಲ್ಲಿ ನಮೂದಿಸಿದ ಒಬ್ಬ ಪರ್ಲ್6 ರ ನಿರೂಪಕ. ಇದು ಪರ್ಲ್ 6ನ್ನು ಒಂದು ವಾಸ್ತವತೆಗೆ ತರುವ ಮೊದಲ ನಿಜವಾದ ಯೋಜಿತ ಪ್ರಯತ್ನವಾಗಿದೆ. ಈ ಪ್ರಯತ್ನವು 2006ರಲ್ಲಿ ಸ್ಥಗಿತಗೊಂಡಿತು.
ಡಿಸೆಂಬರ್ 18, 2007ರಲ್ಲಿ, ಪರ್ಲ್ 1.0ರ 20 ನೆ ವಾರ್ಷಿಕೋತ್ಸವದಲ್ಲಿ, ಪರ್ಲ್ 5.10.0 ಬಿಡುಗಡೆಯಾಯಿತು. ಪರ್ಲ್ 5.10.0 ಕೆಲವು ಗಮನಾರ್ಹ ಹೊಸ ವಿಶೇಷತೆಗಳನ್ನು ಹೊಂದಿದೆ, ಹೀಗಾಗಿ ಇದು ಪರ್ಲ್ 6ಕ್ಕೆ ಸಾಮಿಪ್ಯ ಹೊಂದಿದೆ. ಕೆಲವು ಹೊಸ ಗುಣಲಕ್ಷಣಗಳೆಂದರೆ ಒಂದು ಹೊಸ ಸ್ವಿಚ್ ಸ್ಟೇಟ್ಮೆಂಟ್ (ಹೆಸರಿಗೆ "ಗಿವೆನ್"/"ವೆನ್"), ಸಾಧಾರಣ ನಿರೂಪಣಾ ಪರಿಷ್ಕರಣೆ, ಮತ್ತು ಸ್ಮಾರ್ಟ್ ಮ್ಯಾಚ್ ಆಪರೇಟರ್,"~~".[೧೫][೧೬]
ಸುಮಾರು ಇದೇ ಸಮಯದಲ್ಲಿ, ಪರ್ಲ್ 6ರ ಹೆಚ್ಚುವರಿ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಇನ್ನೊಂದು ಯೋಜನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಯಿತು. ಅದೇ ರಾಕುಡೋ ಪರ್ಲ್ ನ ಬೆನ್ನಿನಲ್ಲೇ ಇದನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು. ಕಳೆದ 2009 ನವೆಂಬರ್ ತನಕವೂ, ರಾಕುಡೋ ಪರ್ಲ್ ನಿಯಮಿತವಾಗಿ ಪ್ರತಿ ತಿಂಗಳು ಬಿಡುಗಡೆಗೊಳ್ಳುತ್ತಿದೆ. ಈಗ ಇದು ಪರ್ಲ್ 6ರ ಒಂದು ಸಂಪೂರ್ಣ ಕ್ರಿಯಾರೂಪ.
5.11.3, ಪರ್ಲ್ 5ರ ಇತ್ತೀಚಿನ ಅಭಿವೃದ್ಧಿ, ಇದನ್ನು ಜೆಸ್ಸಿ ವಿನ್ಸೆಂಟ್ ಡಿಸೆಂಬರ್ 20, 2009[೧೭] ರಲ್ಲಿ ಪ್ರಕಟಿಸಿದರು,ಇದು ಯುನಿಕೋಡಿನ ಮತ್ತಷ್ಟು ಪರಿಷ್ಕರಣೆಯನ್ನು ಒಳಗೊಂಡಿದೆ.( ಯುನಿಕೋಡಿನ ಕ್ಯಾರಕ್ಟರ್ ಡಾಟಾಬೇಸ್ 5.2ರ ರೂಪದಲ್ಲಿ ಉಪಯೋಗದಲ್ಲಿದೆ.) ಪ್ರತಿ ಯುನಿಕೋಡಿನ ಲಿಪಿಸಂಕೇತದ ಲಕ್ಷಣದ ನಿರ್ವಹಣೆ, ಪ್ರಾಗ್ಮಾ 'ಪರಂಪರೆ'ಯನ್ನು ಒಂದು 'ಲಕ್ಷಣ'ವನ್ನಾಗಿ ಬದಲಾಯಿಸಿತು. ಆರಂಭಿಕ ಬಿಡುಗಡೆಗಳು ಸೂಚಿತ ಖಂಡನೆಗಳನ್ನು ಒಳಗೊಂಡಿದ್ದವು. ಇಲ್ಲಿ ರಿಜೆಕ್ಸ್ ಮ್ಯಾಚಿಂಗ್ ಇಂಜಿನ್ ಪರಿಷ್ಕೃತಗೊಳ್ಳುತ್ತದೆ, ಪ್ಲಗ್ಗೇಬ್ಬಲ್ ಮಾದರಿ ಇಂಜಿನ್ ಗಳಿಗೆ ಪರಿಹಾರ ಒದಗಿಸುತ್ತವೆ, ಅಲ್ಲದೇ ಕೋರ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ ನಿರ್ವಹಣೆಯನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ಪರ್ಲ್ 5ರ ಮತ್ತು ಪರ್ಲ್ 5.11 ರ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಒಂದು ಪ್ರಮುಖ ಬದಲಾವಣೆ ಸಂಭವಿಸಿತು; ಅಭಿವೃದ್ಧಿ ವರ್ಗವು ಮಾಸಿಕ ಬಿಡುಗಡೆಯ ಆವರ್ತಕ್ಕೆ ಪರಸ್ಪರ ಬದಲಾಯಿತು, ಈ ವೇಳೆಗೆ ಮೂರು ತಿಂಗಳ ಬಿಡುಗಡೆಗೆ ದಿನಾಂಕಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ಯೋಜಿಸಿತು.
ಹೆಸರು
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಅನ್ನು ಪ್ರಾರಂಭದಲ್ಲಿ ಗೋಸ್ಪೆಲ್ ಆಫ್ ಮಾಥ್ಯೂ ನ ಪಾರಬಲ್ ಆಫ್ ಪೆರ್ಲ್ ನಿಂದ "ಪೆರ್ಲ್," ಎಂದು ಹೆಸರಿಸಲಾಯಿತು. ಲಾರಿ ವಾಲ್ ಭಾಷೆಗೆ ಕಿರು ಹೆಸರನ್ನು ಸಕಾರಾತ್ಮಕ ಅರ್ಥದೊಂದಿಗೆ ಕೊಡಲು ಇಚ್ಛಿಸಿದರು; ಅವರು ನಿಘಂಟಿನಲ್ಲಿ ಬರುವ ಎಲ್ಲ ಮೂರು-ನಾಲ್ಕು ಅಕ್ಷರದ ಪದಗಳನ್ನು ಪರಿಗಣಿಸಿದ್ದರು.(ಮತ್ತು ತಿರಸ್ಕರಿಸಿದ್ದರು). ಅವರು ತಮ್ಮ ಹೆಂಡತಿ ಗ್ಲೋರಿಯಾ ಹೆಸರನ್ನು ಪರಿಗಣಿಸಿದ್ದರು. ವಾಲ್PEARL ಎಂಬ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಭಾಷೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವುದನ್ನು ಪರ್ಲ್ ನ ಅಧಿಕೃತ ಬಿಡುಗಡೆಗೆ ಮುಂಚೆ ಅರಿತರು.ಇದೇ ಹೆಸರಿನ ಕಾಗುಣಿತವನ್ನು ಬದಲಾಯಿಸಿದರು.
ಭಾಷೆಯನ್ನು ಸೂಚಿಸುವ ವೇಳೆ, ಪರ್ಲ್ ಹೆಸರನ್ನು ಸಾಧಾರಣವಾಗಿ ದೊಡ್ದಕ್ಷರದಲ್ಲಿ ಅಂಕಿತ ನಾಮವಾಗಿ ಬರೆಯಲಾಗುತ್ತದೆ, ಹೇಗೆ ನಾವು ಮಾತನಾಡುತ್ತೆವೋ ಹಾಗೆ ( ಉದಾ. ಇಂಗ್ಲಿಷ್ ಅಥವಾ ಫ್ರೆಂಚ್) ವಿವರಣಾತ್ಮಕ ಪ್ರೊಗ್ರಾಮ್ ಅನ್ನು ಸೂಚಿಸುವ ವೇಳೆ, ಹೆಸರು ಸಾಮಾನ್ಯವಾಗಿ ಸಣ್ಣಕ್ಷರದಲ್ಲಿರುತ್ತದೆ. perl ಏಕೆಂದರೆ ಯುನಿಕ್ಸ್-ಮಾದರಿ ಫೈಲ್ ವ್ಯವಸ್ಥೆಗಳು ಸೂಕ್ಷ್ಮ-ನಮೂನೆಗಳಾಗಿರುತ್ತವೆ. ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಪರ್ಲ್ ನ ಮೊದಲ ಆವೃತ್ತಿಯ ಬಿಡುಗಡೆಗೆ ಮುಂಚೆ, ಭಾಷೆಯನ್ನುಪರ್ಲ್ ಎಂದು ಸಾಮಾನ್ಯವಾಗಿ ಸೂಚಿಸಲಾಗುತ್ತಿತ್ತು; ಆದಾಗ್ಯೂ, ರಾನ್ದಲ್ L. ಸ್ಚ್ವರ್ತ್ಜ್ ರ ಪ್ರಕಾರ, ಭಾಷೆಯ ಹೆಸರನ್ನು ಪುಸ್ತಕದಲ್ಲಿ ದೊಡ್ದಕ್ಷರದಲ್ಲಿ ಬರೆದರೆ ಅದು ಹೆಚ್ಚು ಪ್ರಾಮುಖ್ಯತೆ ಪಡೆಯುತ್ತದೆ ಎಂಬುದಾಗಿತ್ತು. ಈ ವಿಶಿಷ್ಟ ಮಾದರಿಯು ನಂತರ ನಿಯಮಬದ್ದ ಅಧಿಕೃತ ದಾಖಲೆಯಾಯಿತು.
"ಪರ್ಲ್"ನ ಕಾಗುಣಿತವು ಎಲ್ಲ ದೊಡ್ದಕ್ಷರದಲ್ಲಿರುವುದಕ್ಕೆ ಕೆಲವು ವಿವಾದಗಳಿವೆ, ಇದನ್ನು ದಾಖಲೆಯು ತಪ್ಪೆಂದು ಘೋಷಿಸುತ್ತದೆ.[೧೮] ಅಲ್ಲದೇ ಕೆಲವು ಕೋರ್ ಗುಂಪಿನ ಸದಸ್ಯರು ಒಂದು ಸೈನ್ ಆಫ್ ಔಟ್ಸೈಡರ್ಸ್ ಎಂದು ಪರಿಗಣಿಸುತ್ತಾರೆ.[೧೯] ಆದಾಗ್ಯೂ, ಹೆಸರನ್ನು ಆಗೊಮ್ಮೆ ಈಗೊಮ್ಮೆ ಪ್ರಥಮಾಕ್ಷರವಾಗಿ ಪ್ರಾಕ್ಟಿಕಲ್ ಎಕ್ಷ್ಟ್ರಾಕ್ಶನ್ ಅಂಡ್ ರಿಪೋರ್ಟ್ ಲಾಂಗ್ವೆಜ್ (ದಾಖಲೆಯ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಕಂಡು ಬರುತ್ತದೆ[೨೦])ನಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಕೆಲವು ಮುದ್ರಣ ಸಾಹಿತ್ಯದಲ್ಲಿ[೨೧], ಈ ವಿಸ್ತರಣೆಯು [[ಹೆಸರಿನ ನಂತರ ಬರುತ್ತದೆ; ಇತರ ಹಲವಾರುಗಳು ಸಮಾನವಾಗಿ ಅಧಿಕೃತವಾದವುಗಳೆಂದು ಸೂಚಿತವಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ವಾಲ್ ರ ವಿನೋದ ಪ್ಯಾಥೊಲೊಜಿಕಲಿ ಎಕ್ಲೆಕ್ಟಿಕ್ ರಬ್ಬಿಶ್ ಲಿಸ್ಟೆರ್(ಇದರೊಳಗಿನ ದೋಷ ಕಂಡುಕೊಳ್ಳುವ ಬಗೆಯನ್ನು) ಕೂಡ ಒಳಗೊಂಡಿದೆ.|ಹೆಸರಿನ ನಂತರ ಬರುತ್ತದೆ; ಇತರ ಹಲವಾರುಗಳು ಸಮಾನವಾಗಿ ಅಧಿಕೃತವಾದವುಗಳೆಂದು ಸೂಚಿತವಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ವಾಲ್ ರ ವಿನೋದ ಪ್ಯಾಥೊಲೊಜಿಕಲಿ ಎಕ್ಲೆಕ್ಟಿಕ್ ರಬ್ಬಿಶ್ ಲಿಸ್ಟೆರ್ (ಇದರೊಳಗಿನ ದೋಷ ಕಂಡುಕೊಳ್ಳುವ ಬಗೆಯನ್ನು) ಕೂಡ ಒಳಗೊಂಡಿದೆ.[೨೨]]] ವಾಸ್ತವವಾಗಿ, ವಾಲ್ ರ ಹೇಳಿಕೆಯಂತೆ ಈ ಹೆಸರನ್ನು ವಿವಿಧ ವಿಸ್ತೃತಗಳನ್ನು ಉತ್ತೇಜಿಸಲು ಬಳಸಲು ಉದ್ದೇಶಿಸಲಾಗಿತ್ತು.[೨೩]
ಒಂಟೆಯ ಗುರುತು
[ಬದಲಾಯಿಸಿ]ಓ'ರೆಯ್ಲಿ ಮೀಡಿಯಾ ದವರು ಪ್ರಕಟಿಸಿದ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಪರ್ಲ್ ' ಎಂದೇ ಪರಿಚಿತವಾಗಿದೆ.[೬] ಈ ಒಂಟೆಯ ಚಿತ್ರವು ಪರ್ಲ್ ನ ಪ್ರಚಲಿತ ಸಂಕೇತವಾಯಿತು. ಇದು ಹಾಕರ್ ಲಾಂಛನವಾಗಿ ಬಳಕೆಯಲ್ಲಿದೆ, ಕೆಲವು ಟೀ-ಶರ್ಟ್ಗಳು ಮತ್ತು ಇತರ ಸಿದ್ದ ಉಡುಪುಗಳಲ್ಲೂ ಕಂಡು ಬರುತ್ತದೆ.
ಓ'ರೆಯ್ಲಿ ಚಿನ್ಹೆಯನ್ನು ಟ್ರೇಡ್ಮಾರ್ಕ್ ಆಗಿ ಸ್ವಾಮ್ಯ ಹೊಂದಿರುತ್ತಾರೆ, ಆದರೆ ಅದರ ಕಾನೂನು ಹಕ್ಕನ್ನು ಸಮಗ್ರತೆ ಮತ್ತು ಚಿನ್ಹೆಯ ಪ್ರಭಾವ ವನ್ನು ರಕ್ಷಿಸಲು ಬಳಸಿಕೊಳ್ಳುವುದಾಗಿ ಹೇಳುತ್ತಾರೆ.[೨೪] ಓ'ರೆಯ್ಲಿ ಚಿನ್ಹೆಯನ್ನು ವ್ಯಾಪಾರಕ್ಕೊಂದೇ ಅಲ್ಲದೆ ಬೇರೆಯದಕ್ಕೂ ಬಳಸಲು ಅಂಗೀಕರಿಸುತ್ತಾರೆ. ಇದು ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ರೆಪುಬ್ಲಿಕ್ ಆಫ್ ಪರ್ಲ್ ಲೋಗೊಸ್ ಮತ್ತು ಪವರ್ಡ್ ಬೈ ಪರ್ಲ್ಬಟ್ಟನ್ಸ್.[೨೫] ಆದರೆ, ಒಂಟೆಯು ಪರ್ಲ್ ನ ಅಧಿಕೃತ ಚಿನ್ಹೆಯಾಗಿಲ್ಲ, ಅದನ್ನು ಒಂದನ್ನೇ ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡರೆ ಬದಲಿಗೆ, ಅದು ಒಂದು ಈರುಳ್ಳಿ.(ಸಾಮರ್ಥ್ಯದ ಭಾಷೆಯಾಗಿರುತ್ತದೆ) [೨೬]
ಸ್ಥೂಲ ಅವಲೋಕನ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಒಂದು ಸಾಧಾರಣ-ಸಂಕಲ್ಪಿತ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಭಾಷೆ ಮೂಲತಃ ದತ್ತಾಂಶ ಬದಲಾವಣೆಗೆ ಅಭಿವೃದ್ದಿ ಪಡಿಸಲಾಯಿತು. ಇದನ್ನು ಈಗ ವ್ಯಾಪಕ ಕೆಲಸಗಳಿಗೆ ಸಿಸ್ಟಮ್ ನಿರ್ವಹಣೆ, ವೆಬ್ ಅಭಿವೃದ್ಧಿ, ನೆಟ್ವರ್ಕ್ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್, ಆಟಗಳು, ಬಯೋಇನ್ಫಾರಮಾಟಿಕ್ಸ್, ಮತ್ತು GUI ಗಳ ಅಭಿವೃದ್ಧಿಗೆ ಉಪಯೋಗವಾಗುತ್ತಿದೆ.
ಭಾಷೆಯ ಉದ್ದೇಶ ಕಾರ್ಯೋಪಯೋಗತೆ ಅಂದವಾಗಿದ್ದ( ಸಣ್ಣ, ಸೊಗಸಾದ, ಕನಿಷ್ಠತೆ)ಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ (ಬಳಸಲು ಸುಲಭ, ಪರಿಣಾಮಕಾರಿ ಮತ್ತು ಸಂಪೂರ್ಣತೆ)ಎಂಬುದು ಇದರ ಉದ್ದೇಶ.[೨೭] ಇದರ ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು ಅನೇಕ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಮಾದರಿ ಗಳು (ಕಾರ್ಯ ವಿಧಾನ,ವಸ್ತು-ನಿರ್ಣಯ, ಮತ್ತು ಕಾರ್ಯ ವೈಖರಿ), ಮಾಹಿತಿ ಗಣನೆಮೆಮೊರಿ ನಿರ್ವಹಣೆ ( ಗಾರ್ಬೇಜ್ ಕಲೆಕ್ಟರ್ ಅನ್ನು ಒಂದು ಕ್ರಮವಿಲ್ಲದೇ ಪತ್ತೆಹಚ್ಚುವುದು),ವಿಷಯ ಸಂಸ್ಕರಣೆಗೆ ಬಿಲ್ಟ್-ಇನ್ ಸಹಾಯ ಮತ್ತು ಒಂದು ದೊಡ್ಡ ಥರ್ಡ್-ಪಾರ್ಟಿ ಮಾಡ್ಯೂಲ್ಗಳ ಸಂಗ್ರಹಗಳನ್ನೂ ಒಳಗೊಂಡಿದೆ.
ಲಾರಿ ವಾಲ್ ರ ಪ್ರಕಾರ, ಪರ್ಲ್ ಎರಡು ಸ್ಲೋಗನ್ನುಗಳನ್ನು ಹೊಂದಿದೆ. ಮೊದಲನೆಯದು " ದೆರಿಸ್ ಮೋರ್ ದಾನ್ ಒನ್ ವೇ ಟು ಡು ಇಟ್," ಸಾಮಾನ್ಯವಾಗಿ TMTOWTDI ಎಂದೇ ಪರಿಚಿತ. ಎರಡನೇ ಸ್ಲೋಗನ್ "ಈಸಿ ಥಿಂಗ್ಸ್ ಶುಡ್ ಬಿ ಈಸಿ ಮತ್ತು ಹಾರ್ಡ್ ಥಿಂಗ್ಸ್ ಶುಡ್ ಬಿ ಪಾಸ್ಸಿಬಲ್."
ವೈಶಿಷ್ಟ್ಯಗಳು (ಗುಣಲಕ್ಷಣಗಳು)
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ನ ಒಟ್ಟಾರೆ ವಿನ್ಯಾಸ ಸಂಪೂರ್ಣವಾಗಿ C ಇಂದ ಹುಟ್ಟಿಕೊಂಡಿದೆ. ಪರ್ಲ್ ಸಹಜವಾಗಿ ಕಾರ್ಯಕ್ರಿಯಾ ಚಿಹ್ನೆ, ಅಸ್ಸೈನ್ಮೆಂಟ್ ಸ್ಟೇಟ್ಮೆಂಟ್[[ಸ್ , ಬ್ರೇಸ್ ಡಿ-ಲಿಮಿಟೆಡ್ ಬ್ಲಾಕ್ಸ್, ಕಂಟ್ರೋಲ್ ಸ್ಟ್ರಕ್ಚರ್ಸ್ , ಮತ್ತು ಸಬ್ ರುಟಿನ್ಸ್|ಸ್ , ಬ್ರೇಸ್ ಡಿ-ಲಿಮಿಟೆಡ್ ಬ್ಲಾಕ್ಸ್, ಕಂಟ್ರೋಲ್ ಸ್ಟ್ರಕ್ಚರ್ಸ್ , ಮತ್ತು ಸಬ್ ರುಟಿನ್ಸ್]] ಗಳು ಸೇರಿವೆ.
ಪರ್ಲ್ ಶೆಲ್ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ನಿಂದಲೂ ಕೆಲವು ಗುಣಲಕ್ಷಣಗಳನ್ನು ಅಳವಡಿಸಿಕೊಂಡಿದೆ. ಎಲ್ಲ(ವ್ಯತ್ಯಾಸಗಳು) ವೇರಿಯಬಲ್ಗಳನ್ನು ಸಿಗಿಲ್ಸ್ನಿಂದ ಗುರುತು ಮಾಡಲಾಗಿದೆ, ಇದು ಸ್ಪಷ್ಟವಾಗಿ ವೆರಿಯಬಲ್ಲಿನ ಡಾಟಾ ಮಾದರಿಯನ್ನು ಸಂಧರ್ಬೋಚಿತವಾಗಿ ಗುರುತಿಸುತ್ತವೆ. (ಉದಾ, ಸ್ಕೆಲಾರ್, ಆರ್ರೆ, ಹ್ಯಾಷ್) ಮುಖ್ಯವಾಗಿ,(ಸಂಜ್ಞೆಗಳು ವ್ಯತ್ಯಾಸಗಳಿಗೆ) ಸಿಗಿಲ್ಗಳು ವೆರಯಾಬಲ್ಗಳಿಗೆ ತಂತುಗಳನ್ನು ನೇರವಾಗಿ ಪ್ರಕ್ಷೇಪಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪರ್ಲಿಗೆ ಹಲವು ಬಿಲ್ಟ್-ಇನ್ (ಅಂತರ್ಗತ) ಕಾರ್ಯನಿರ್ವಹಣೆಗಳಿವೆ. ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಶೆಲ್ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ನಲ್ಲಿ ಬಳಕೆಯಾಗುವ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.( ಆದಾಗ್ಯೂ ಈ ಹಲವು ಸಾಧನಗಳನ್ನು ಶೆಲ್ ನ ಹೊರರೂಪವಾಗಿ ಪ್ರೋಗ್ರಾಮ್ ಸಜ್ಜುಗೊಳಿಸುತ್ತದೆ) ಉದಾಹರಣೆಗೆ ವಿಂಗಡಣೆ ಮತ್ತು ಸಿಸ್ಟಮ್ ಸೌಲಭ್ಯಗಳನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ.
ಪರ್ಲ್ , ಸಹಯೋಗದ ಆರ್ರೆ(ವ್ಯೂಹ ರಚನೆಗಳು) ಹ್ಯಾಷೆಸ್ ಗಳನ್ನು AWK, ಮತ್ತು ಸಾಮಾನ್ಯ ಪದವಿನ್ಯಾಸಗಳನ್ನು (ಅಡಕ) ಸೆಡ್ನಿಂದ ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ. ಇವುಗಳು ಹಲವು ಪದಾನ್ವಯದ ವಿವರಣೆಯನ್ನು, ಡಾಟಾ-ನಿರ್ವಹಣಾ ಕೆಲಸಗಳನ್ನು, ಸರಳ ಮತ್ತು ಸುಗಮಗೊಳಿಸುತ್ತದೆ
ಪರ್ಲ್ 5ರಲ್ಲಿ, ವಿಶಿಷ್ಟ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸೇರಿಸಲಾಯಿತು. ಅವು ಜಟಿಲ ಡಾಟಾ ವಿಧಾನಗಳು, ಮೊದಲ-ದರ್ಜೆಯ ಕಾರ್ಯಗಳು( ಅದು ಮುಕ್ತಾಯವನ್ನು ಮೌಲ್ಯಗಳಾಗಿ ಬದಲಾಯಿಸುವುದು), ಅದೂ ಒಂದು ವಸ್ತು-ನಿಧಾರಿತ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಮಾದರಿ. ಇವುಗಳು ಮಾಹಿತಿಗಳು, ಪಾಕೆಜಸ್, ದರ್ಜೆ -ಆಧಾರಿತ ಮಾದರಿಯ ರವಾನೆ, ಮತ್ತು ಲೆಕ್ಸಿಕಲಿ ಸ್ಕೊಪ್ಡ್ ವೆರಿಯಬಲ್ ಗಳ ಜೊತೆಗೆ ಕಂಪೈಲರ್ ದಿಕ್ಸೂಚಕಗಳು( ಉದಾಹರಣೆಗೆ , ದಿಸ್ಟ್ರಿಕ್ಟ್ ಪ್ರಾಗ್ಮಾ). ಪರ್ಲ್ 5ರ ಜೊತೆ ಪರಿಚಯದೊಂದಿಗೆ ಒಂದು ಪ್ರಮುಖವಾಗಿ ಸೇರ್ಪಡೆಗೊಂಡ ಲಕ್ಷಣವೆಂದರೆ ಅದು ಪ್ಯಾಕೇಜ್ ಸಂಕೇತವನ್ನು ಪುನರ್ಬಳಕೆಯ ಮಾಡ್ಯೂಲ್ ಗಳಾಗಿ ಬಳಸುವ ಕೌಶಲ್ಯ. ಲಾರಿ ವಾಲ್ ನಂತರ ಹೇಳಿಕೆಯಲ್ಲಿ "ಪರ್ಲ್ 5 ರ ಮಾಡ್ಯೂಲ್ ವ್ಯವಸ್ಥೆಯ ಪೂರ್ಣ ಉದ್ದೇಶ ಪರ್ಲ್ ಕೋರ್ ಗಿಂತ ಹೆಚ್ಚಾಗಿ ಪರ್ಲ್ ಸಂಸ್ಕೃತಿಯ ಬೆಳವಣಿಗೆಗೆ ಪ್ರೋತ್ಸಾಹಿಸುವುದೇ ಆಗಿತ್ತು."[೨೮]
ಪರ್ಲಿನ ಎಲ್ಲ ರೂಪಗಳು ಸ್ವಯಂಚಾಲಿತ ಡಾಟಾ ಟೈಪಿಂಗ್ ಮತ್ತು ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಮಾಡುತ್ತವೆ. ನಿರೂಪಕರಿಗೆ ಪ್ರೋಗ್ರಾಮ್ನಲ್ಲಿ ಇರುವ ಪ್ರತಿಯೊಂದು (ಡಾಟಾ )ದತ್ತಾಂಶ ಮಾಹಿತಿಯ ನಿರ್ವಹಣೆಯ ಮಾದರಿ ಮತ್ತು ಶೇಖರಣಾ ವ್ಯವಸ್ಥೆಯ ಅವಶ್ಯಕತೆ ತಿಳಿದಿರುತ್ತದೆ. ಇದನ್ನು ವಿಂಗಡಿಸಿ ಅವುಗಳಿಗೆ ಸಂಗ್ರಹಣೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ ಉಪಯೋಗಕ್ಕೆ ಅಗತ್ಯ ವಿವರವಾದ ಲೆಕ್ಕಾಚಾರ, ಮಾಹಿತಿ ಗಣನೆಯನ್ನು ನೀಡುತ್ತದೆ. ( ಹೀಗಾಗಿ ಅದು ಸರ್ಕುಲರ್ ಡಾಟಾ ಮಾದರಿಯನ್ನು ಕೈಪಿಡಿಯ ಹಸ್ತಕ್ಷೇಪವಿಲ್ಲದೆ ವಿಂಗಡಿಸದಿರಲು ಸಾಧ್ಯವಿಲ್ಲ). ಕ್ರಮಬದ್ಧ ಪರಿವರ್ತನೆಗಳು- ಉದಾಹರಣೆಗೆ, ಸಂಖ್ಯೆಗಳಿಂದ ತಂತುಗಳಿಗೆ ಮಾರ್ಪಾಡುಗಳು-ಸ್ವಯಂ ಚಾಲನೆಯಲ್ಲಿರುತ್ತದೆ. ಅನಧಿಕೃತ ಮಾದರಿಯ ಮಾರ್ಪಾಡುಗಳು ಹಾನಿಕರ ದೋಷವೆನಿಸುತ್ತವೆ.
ವಿನ್ಯಾಸ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ನ ವಿನ್ಯಾಸವನ್ನು ಕಂಪ್ಯೂಟರ್ ಕ್ಷೇತ್ರದ ಮೂರು ವಿಶಾಲ ಪ್ರವೃತ್ತಿಗಳಿಗೆ ಉತ್ತರವೆಂದು ತಿಳಿಯಬಹುದು. ಹಾರ್ಡ್ ವೇರ್ ನ ಬೆಲೆಯಲ್ಲಿ ಇಳಿಮುಖ, ಕಾರ್ಮಿಕರ ಕೂಲಿಯಲ್ಲಿ ಹೆಚ್ಚಳ, ಮತ್ತು ಕಂಪೈಲರ್ ತಂತ್ರಜ್ಞಾನದ ಬೆಳವಣಿಗೆ. ಹಲವು ಆರಂಭಿಕ ಕಂಪ್ಯೂಟರ್ ಭಾಷೆಗಳು, ಉದಾಹರಣೆಗೆ ಫೊರ್ಟ್ರಾನ್ ಮತ್ತು C ಯನ್ನು ದುಬಾರಿ ಕಂಪ್ಯೂಟರ್ ಹಾರ್ಡ್ ವೇರ್ ಅನ್ನು ಅತ್ಯಂತ ಸಮರ್ಥವಾಗಿ ಬಳಸಿಕೊಳ್ಳಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿತ್ತು. ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ಪರ್ಲ್ ಅನ್ನು ಅತ್ಯಂತ ದುಬಾರಿ ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಮ್ಮರ್ಸ್ಗಳನ್ನು ಸಮರ್ಪಕ ರೀತಿಯಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.
ಪರ್ಲ್ ನ ಹಲವು ಗುಣಲಕ್ಷಣಗಳು ಪ್ರೋಗ್ರಾಮ್ಮರಗಳ ಕೆಲಸವನ್ನು ಮುಖ್ಯವಾಗಿ CPU ಮತ್ತು ಮೆಮೊರಿ ಅವಶ್ಯಕತೆಗಳನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತವೆ. ಇದರಲ್ಲಿ ಆಟೋಮಾಟಿಕ್ ಮೆಮೊರಿ ನಿರ್ವಹಣೆ; ಡೈನಮಿಕ್ ಟೈಪಿಂಗ್;ಸರಣಿ ತಂತುಗಳು, ಪಟ್ಟಿಗಳು, ಮತ್ತು ಹ್ಯಾಷೆಸ್; ನಿಯಮಿತ ನಿರ್ದಿಷ್ಟ ನಿರೂಪಣೆಗಳು; ಆಂತರಿಕ ಪರೀಕ್ಷೆ; ಮತ್ತು ಒಂದು (ದಕ್ಷತೆಯ) ಇವಲ್ ಕಾರ್ಯ ನಿರ್ವಹಣೆ ಒಳಗೊಂಡಿದೆ.
ವಾಲ್ ಮೂಲಭೂತವಾಗಿ ಒಬ್ಬ ನುರಿತ ಕಾಂಪೂಟರ್ ಭಾಷಾಶಾಸ್ತ್ರಜ್ಞ, ಇಲ್ಲಿ ಪರ್ಲ್ ನ ವಿನ್ಯಾಸವು ಹೆಚ್ಚಾಗಿ ಭಾಷಾ ಸೂತ್ರದ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ ಹುಫ್ಫ್ಮನ್ ಕೋಡಿಂಗ್ (ಸಾಮಾನ್ಯ ರಚನೆಗಳು ಯು ಕಿರಿದಾಗಿರಬೇಕು.) ಉತ್ತಮ ಎಂಡ್-ವೇಟಿಂಗ್ ( ಮುಖ್ಯ ಮಾಹಿತಿಯು ಮೊದಲು ಬರಬೇಕು), ಇದೊಂದು ಭಾಷಾ ಮೂಲದ ಒಂದು ದೊಡ್ಡ ಸಂಗ್ರಹ. ಪರ್ಲ್ ನ ವಿವರಣೆಯನ್ನು ಜಟಿಲಗೊಳಿಸಿದರೂ, ಪರ್ಲ್ ಭಾಷಾ ರಚನೆಯ ಸಂಕ್ಷಿಪ್ತತೆಯಿಂದಾಗಿ ಅದು ಸಾಮಾನ್ಯರಿಗೆ ಓದು ಮತ್ತು ಬರಹದ ಸಹಜತೆಗೆ ಆಸ್ಪದ ನೀಡುತ್ತದೆ.
ಪರ್ಲ್ ನ ವಾಕ್ಯರಚನೆಯ ವಿನ್ಯಾಸವು ಆಲೋಚನಾ ಲಹರಿಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ.ಇದರ ಉದ್ದೇಶವೆಂದರೆ " ವಸ್ತುಗಳಲ್ಲಿ ಯಾವುದು ಭಿನ್ನವಾಗಿದೆಯೋ ಅದು ಭಿನ್ನವಾಗಿರುವಂತೆಯೇ ತೋರಬೇಕು." ಉದಾಹರಣೆಗೆ,(ಪರಿಮಾಣಗಳು) ಸ್ಕೆಲಾರ್ಸ್, (ಪದ ವ್ಯೂಹ ರಚನೆ)ಅರ್ರೆಸ್, ಮತ್ತು (ಬಿಡಿಭಾಗಗಳು)ಹ್ಯಾಷೆಷ್ ಗಳು ಬೇರೆಬೇರೆಯಾದ ಮಾರ್ಗದರ್ಶಕ (ಸಂಜ್ಞೆ) ಸಿಗಿಲ್ಸ್ಗಳನ್ನು ಹೊಂದಿವೆ. (ಪದರಚನಾ ವ್ಯೂಹ) ಅರ್ರೆಯ್ ಸೂಚಿಗಳಾಗಿರುತ್ತದೆ. ಇದರಲ್ಲಿ ಹ್ಯಾಷ್ ಕೀಗಳು ವಿವಿಧ ರೀತಿಯ (ಕಟ್ಟು ಬಂಧ) ಬ್ರೇಸ್ ಗಳನ್ನು ಉಪಯೋಗಿಸುತ್ತವೆ. ಸರಣಿ ತಂತುಗಳು ಮತ್ತು ನಿಯಮಿತ ಅಥವಾ ಸಾಮಾನ್ಯ ನಿರೂಪಣೆಗಳು ವಿವಿಧ ಪ್ರಮಾಣಬದ್ದ ಎಲ್ಲೆಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಈ ಸಾಮಿಪ್ಯತೆಯನ್ನು ಭಾಷೆಯ ಭಿನ್ನತೆಯೊಂದಿಗೆ ಹೋಲಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ ಲಿಸ್ಪ್, ಅಲ್ಲಿ S-ಎಕ್ಸ್ಪ್ರೆಶನ್ ರಚಿಸುವ ಮತ್ತು ಮೂಲ ವಾಕ್ಯರಚನೆಯನ್ನು ವಿವಿಧ ಉದ್ದೇಶಗಳಿಗೆ ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ.
ಪರ್ಲ್ ಯಾವುದೇ ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಮಾದರಿಗಳನ್ನು ಹೇರುವುದಿಲ್ಲ. ( ಕಾರ್ಯವಿಧಾನ, ವಸ್ತು-ಪ್ರಧಾನ, ಕಾರ್ಯಾತ್ಮಕ, ಮತ್ತು ಇತರೆ) ಅಥವಾ ಪ್ರೋಗ್ರಾಮ್ಮರ್ಗಳು ಇವಿಷ್ಟರಲ್ಲಿಯೇ ಆಯ್ಕೆ ಮಾಡಿಕೊಳ್ಳುವ ಅಗತ್ಯವಿದೆ.
ಇದರಲ್ಲಿ ಪರ್ಲ್ ಭಾಷೆ ಮತ್ತು ಅದನ್ನು ಸುತ್ತುವರಿದ ಪದವ್ಯೂಹ ಮತ್ತು ಅದರ ವಾಕ್ಯ ಸಮೂಹ, ಸಂಸ್ಕೃತಿ ಎರಡಕ್ಕೂ ವ್ಯಾಪಕ ವ್ಯವಹಾರಿಕ ಪ್ರವೃತ್ತಿಗಳಿವೆ. ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಪರ್ಲ್ ನ ಮುನ್ನುಡಿಯಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುವಂತೆ, " ಪರ್ಲ್ ಇಸ್ ಏ ಲಾಂಗ್ವೇಜ್ ಫಾರ್ ಗೆಟ್ಟಿಂಗ್ ಯುವರ್ ಜಾಬ್ ಡನ್." (ಪರ್ಲ್ ನಿಂದ ನಿಮ್ಮ ಕೆಲಸಗಳನ್ನು ಸುಲಭಗೊಳಿಸಬಹುದು) ಇದರ ಒಂದು ಸಣ್ಣ ದೋಷವೆಂದರೆ ಪರ್ಲ್ ಒಂದು ಅಚ್ಚುಕಟ್ಟಾದ ಅಥವಾ ಸಿದ್ದಪಡಿಸಿಟ್ಟ ಭಾಷೆ ಅಲ್ಲ. ಇದು ಹಲವು ಗುಣಲಕ್ಷಣಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಅದು ತನ್ನ ನಿಯಮಗಳಿಗೆ ಕೆಲವು ಅಪವಾದಗಳನ್ನು ಹೊಂದಿದೆ, ಅಲ್ಲದೇ ಹ್ಯುರಿಸ್ಟಿಕ್ಸ್ ಅನ್ನು ಬಳಸಿ ಪದಾನ್ವಯತೆಯ ಸಂದಿಗ್ದತೆಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಏಕೆಂದರೆ ಕಂಪೈಲರ್ನ ಮರೆಗುಳಿತನ ಅಥವಾ ಕ್ಷಮಾಶೀಲತೆಯಿಂದ, ರಹಸ್ಯ ಮೈಕ್ರೊಫೊನನ್ನು ಅಥವಾ ಬಗ್ಸ್ ಗಳನ್ನು ಕೆಲವು ಬಾರಿ ಹುಡುಕುವುದು ಕಷ್ಟ. ಪಟ್ಟಿ ಮತ್ತು ಸ್ಕೆಲಾರ್ ಗಳ ವ್ಯತ್ಯಾಸಗಳಲ್ಲಿ ಬಿಲ್ಟ್-ಇನ್ (ಅಂತರ್ಗತ)ಕಾರ್ಯಗಳ ಭಿನ್ನ ವರ್ತನೆಗಳ ಬಗ್ಗೆ ಚರ್ಚಿಸುತ್ತ, ಪರ್ಲ್func(1) ಕೈಪಿಡಿ ಹೇಳುವಂತೆ," ಸಾಧಾರಣವಾಗಿ, ಅದು ನಿಮಗೆ ಸ್ಥಿರತೆ ಬೇಕೆನಿಸುವ ತನಕ, ನಿಮಗೆ ಏನು ಬೇಕೋ ಅದನ್ನು ಮಾಡುತ್ತದೆ."
ಇದರ ಜೊತೆಗೆ ಲಾರಿ ವಾಲ್ ರ ಎರಡು ಘೋಷವಾಕ್ಯಗಳಲ್ಲಿನ,ಸ್ಲೋಗನ್ಗಳಲ್ಲಿ ಮೇಲೆ ಉಲ್ಲೇಖಿಸಿರುವಂತೆ, ಪರ್ಲ್ ನ ಹಲವಾರು ಧ್ಯೇಯಗಳು ಅದರ ವಿನ್ಯಾಸದ ಅಂಶ ಮತ್ತು ಬಳಕೆ ತಿಳಿಸುವ ದೃಷ್ಟಿಕೋನ ಹೊಂದಿವೆ. ಜೊತೆಗೆ "ಪರ್ಲ್: ದಿ ಸ್ವಿಸ್ಸ್ ಆರ್ಮಿ ಚೈನ್ಸಾ ಆಫ್ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಲಾಂಗ್ವೇಜಸ್" ಮತ್ತು ನೋ ಅನ್ನೆಸೆಸ್ಸರಿ ಲಿಮಿಟ್ಸ್" . ಪರ್ಲ್ ಅನ್ನು "ದಿ ಡಕ್ಟ್ ಟೇಪ್ ಆಫ್ ದಿ ಇಂಟರ್ನೆಟ್ " ಎಂದೂ ಕರೆಯುತ್ತಾರೆ.[೨೯](ಇದು ಇಂಟರ್ ನೆಟ್ ನ ವಾಹಿನಿಯಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ)
ಪರ್ಲ್ 5ರ ಮೂಲಕ ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಬರವಣಿಗೆಯ ವಿವರ ಅಥವಾ ಮಾನದಂಡವು ಪರ್ಲ್ ಭಾಷೆಗೆ ಪರ್ಲ್ ನ ರೂಪದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. ಪ್ರಸ್ತುತ ಪರ್ಲ್ ನ ರೂಪಕ್ಕೆ ಮತ್ತೊಂದನ್ನು ರಚಿಸುವ ಯಾವುದೇ ಉದ್ದೇಶವಿಲ್ಲ. ನಿರೂಪಕನ ಒಂದೇ ಒಂದು ಕಾರ್ಯರೂಪವಿದೆ, ಭಾಷೆಯು ಅದರೊಂದಿಗೆ ವಿಕಸನ ಹೊಂದಿದೆ. ನಿರೂಪಕ, ಕಾರ್ಯಾತ್ಮಕ ಪರೀಕ್ಷೆಯ ಜೊತೆಗೆ,ಡಿ ಫಾಕ್ಟೋ (ಅಧಿಕಾರಯುತ)ವಿವರಣೆಯಾಗಿ ಈ ಭಾಷೆ ನಿಲ್ಲುತ್ತದೆ. ಪರ್ಲ್ 6, ಹೀಗಿದ್ದರೂ, ಒಂದು ನಿರ್ದಿಷ್ಟ ವಿವರಣೆಯೊಂದಿಗೆ[೩೦] ಪ್ರಾರಂಭವಾಯಿತು, ಅಲ್ಲದೇ ಇದರಲ್ಲಿನ ಹಲವಾರು ಯೋಜನೆಗಳು[೩೧] ಕೆಲವೊಂದು ಅಥವಾ ಎಲ್ಲ ವಿವರಣೆಯನ್ನು ಕಾರ್ಯರೂಪಕ್ಕೆ ತರುವ ಗುರಿ ಹೊಂದಿದೆ.
ಅಳವಡಿಕೆಗಳು
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಹಲವು ಮತ್ತು ವಿಭಿನ್ನ ಬಳಕೆಗಳನ್ನು ಹೊಂದಿದೆ, ವಿವಿಧ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮತ್ತು ಥರ್ಡ್-ಪಾರ್ಟಿ ಮಾಡ್ಯೂಲ್ಗಳ ಲಭ್ಯತೆಗಳ ಸಂಯೋಗವನ್ನೂ ಹೊಂದಿದೆ.
ಪರ್ಲ್ ಅನ್ನು ವೆಬ್ ನ ಪ್ರಾರಂಭದ ದಿನಗಳಲ್ಲಿ CGI ಲಿಪಿಯನ್ನು ಬರೆಯಲು ಬಳಸಲಾಗುತ್ತಿತ್ತು. ಇದು "ದಿ ತ್ರೀ ಪೀ'ಸ್" ಗಳಲ್ಲಿ ಒಂದೆಂದು ಗುರುತಿಸಲ್ಪಡುತ್ತದೆ. (ಪೈತಾನ್ ಮತ್ತು PHPಯ ಜೊತೆ), ಇದು ವೆಬ್ ಬಳಕೆಯಲ್ಲಿ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಕ್ರಿಯಾತ್ಮಕ ಭಾಷೆ. ಇದು ಜನಪ್ರಿಯ LAMP ಸೊಲ್ಯುಶನ್ ಸ್ಟಾಕ್ ನ ಒಂದು ಅವಿಭಾಜ್ಯ ಅಂಶವಾಗಿ ವೆಬ್ ನ ಅಭಿವೃದ್ದಿಗೆ ಸಹಾಯಕವಾಗಿದೆ. ಪರ್ಲ್ ಒಳಗೊಂಡ ದೊಡ್ಡ ಯೋಜನೆಗಳೆಂದರೆ(ಪರ್ಯಾಯ ಪದ) ಸ್ಲಾಶ್, ಬಗ್ಜಿಲ್ಲ, RT, TWiki, ಮತ್ತು ಮೊವಬಲ್ ಟೈಪ್ ಗಳಾಗಿವೆ. ಹಲವು ಅತಿ-ದಟ್ಟಣೆಯ ಅಂತರಜಾಲಗಳು ಪರ್ಲ್ ಅನ್ನು ವ್ಯಾಪಕವಾಗಿ ಬಳಸುತ್ತವೆ. ಉದಾಹರಣೆಗೆ Amazon.com, bbc.co.uk, Priceline.com,Craigslist, IMDb[೩೨], LiveJournal,Slashdot ಮತ್ತು Ticketmaster.
ಪರ್ಲ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದಕ್ಕೊಂದು ಬಂಧಿಸುವ ಅಥವಾ ಜೋಡಣಾ ಭಾಷೆಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.ಇದರಲ್ಲಿನ ವ್ಯವಸ್ಥೆ, ವಿಧಾನಗಳು ಮತ್ತು ಇಂಟರ್ಫೆಸೆಸ್ಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ. ಇವುಗಳು ನಿರ್ದಿಷ್ಟವಾಗಿ ಪರಸ್ಪರ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಮತ್ತು ಡಾಟಾ ಮುಂಗಿಂಗ್[೩೩](ಅಂಕಿ ಅಂಶಗಳ ಬದಲಾವಣೆ ಮಾಡುವುದು) ಮಾಡಲು ವಿನ್ಯಾಸಗೊಂಡಿರುವುದಿಲ್ಲ, ಅದೆಂದರೆ, ದೊಡ್ಡ ಪ್ರಮಾಣದ ಡಾಟಾ ಸಂಸ್ಕರಣೆ ಅಥವಾ ಮಾರ್ಪಾಡುಗಳನ್ನು ರಿಪೋರ್ಟ್ ತಯಾರಿಸಲು ಬಳಸುವುದು. ವಾಸ್ತವವಾಗಿ, ಈ ಬಲಗಳು ನಿಕಟವಾಗಿ ಸಂಪರ್ಕ ಹೊಂದಿವೆ. ಪರ್ಲ್ ಒಂದು ಜನಪ್ರಿಯ ವಿವಿದೋದ್ದೇಶ (ಸ್ಕ್ರಿಪ್ಟ್ ) ಭಾಷೆಯಾಗಲು ಸಿಸ್ಟಮ್ ಅಡಮಿನಿಸ್ಟ್ರೆಟರ್ಸ್ ಸಂಯೋಜನೆ, ವಿಶೇಷವಾಗಿ ಇದರಲ್ಲಿ ಸಣ್ಣ ಪ್ರೊಗ್ರಾಮ್ಗಳನ್ನು ದಾಖಲಿಸಬಹುದು. ಅದಲ್ಲದೇ ಏಕ ಆದೇಶದ ನಿರ್ದೇಶನದ ಆಧಾರದ ಮೇಲೆ ಇವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ಹೆಚ್ಚಿನ ಕಾಳಜಿಯೊಂದಿಗೆ, ಪರ್ಲ್ ಕೋಡನ್ನು ವಿಂಡೋಸ್ ಮತ್ತು ಯುನಿಕ್ಸ್ಗೆಗೆ ಮಧ್ಯದಲ್ಲಿ ಸುಲಭವಾಗಿ ಒಯ್ಯಲು ಸಾಧ್ಯ. ಒಯ್ಯಲು ಅನುಕೂಲವಾದ ಪರ್ಲ್ ಕೋಡನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸಾಫ್ಟ್ ವೇರ್ ಒದಗಿಸುವವರು (COTS ಮತ್ತು ಬೆಸ್ಪೋಕ್ ಇಬ್ಬರೂ)ಬಳಸುತ್ತಾರೆ. ಇದನ್ನು ಪ್ಯಾಕೇಜಿಂಗ್ ಅನ್ನು ಸರಳಗೊಳಿಸಲು ಮತ್ತು ಸಾಫ್ಟ್ ವೇರ್ ರಚನೆಯನ್ನು ಮತ್ತು ಲಿಪಿ ಜೋಡಣೆಯನ್ನು ಸಂರಕ್ಷಿಸುತ್ತದೆ.
ಗ್ರಾಫಿಕಲ್ ಯುಸರ್ ಇಂಟರ್ಫಾಸೆಸ್ (GUIs)ಗಳನ್ನು ಪರ್ಲ್ ನ ಸಹಾಯದೊಂದಿಗೆ ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಪರ್ಲ್/Tk ಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಪರ್ಲ್ ಲಿಪಿಯ ಜೊತೆ ಬಳಕೆದಾರನ ಪರಸ್ಪರ ಪ್ರಭಾವ ತಿಳಿಯಲು ಅನುಕೂಲ ಮಾಡಿಕೊಡುತ್ತದೆ. ಇಂತಹ ಪರಸ್ಪರ ಪ್ರತಿಕ್ರಿಯೆಗಳು ಸಮನ್ವಯ ಅಥವಾ ಅಸಮನ್ವದ ಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿರುವಾಗ ಇವುಗಳು ಕಾಲ್ಬ್ಯಾಕ್ ಬಳಸಿ GUIಗಳನ್ನು ಪರಿಷ್ಕರಿಸುತ್ತದೆ. ತಂತ್ರಜ್ಞಾನದ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನೋಡಿ Tk,Tcl, Wxಪರ್ಲ್ and Prima ಪರ್ಲ್.
ಪರ್ಲ್ ಅನ್ನು ವ್ಯಾಪಕವಾಗಿ ಹಣಕಾಸಿನ ವ್ಯವಹಾರ ಮತ್ತು ಬೈಯೋಇನ್ಫಾರ್ಮ್ಟಿಕ್ಸ್ನಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಅಲ್ಲಿ ಇದು ಶೀಘ್ರ ಬೆಳವಣಿಗೆಯ ಅಳವಡಿಕೆಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ. ಅದರ ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು ದೊಡ್ಡ ಡಾಟಾ ಸೆಟ್ಗಳ ಸಮರ್ಥ ನಿರ್ವಹಣೆಗೆ ಸದ್ಯ ಬಳಕೆಯಾಗುತ್ತಿದೆ.
ಅಳವಡಿಕೆ (ಅನುಷ್ಠಾನ)
[ಬದಲಾಯಿಸಿ]Cನಲ್ಲಿ ಬರೆದ ಹಾಗೆ ಪರ್ಲ್ ಒಂದು ಒಳತಿರುಳ ವಿವರಿಸುವ (ಕೋರ್ )ವಿವರಕ ಸಾಧನವಾಗಿದೆ. ಜೊತೆಗೆ, ಪರ್ಲ್ ಮತ್ತು Cನಲ್ಲಿ ಬರೆದ ಹಾಗೆ ಮಾಡ್ಯೂಲ್ಗಳ ದೊಡ್ಡ ಸಂಗ್ರಹದ ಜೊತೆಗೂಡಿದೆ. ಇದರ ಆಧಾರ ವಿಂಗಡನೆಯು,as of 2009[update][[ವರ್ಗ:Articles containing potentially dated statements from ಪದವಿನ್ಯಾಸ ದೋಷ: ಗುರುತಿಸಲಾಗದ ವಿರಾಮ ಚಿಹ್ನೆ"೧".]], tar file ನಲ್ಲಿ ಪ್ಯಾಕೇಜ್ ಮಾಡಿದರೆ ಮತ್ತು {1 {1}MB{/1)._ಸಂಕುಚಿತ{2/}ಗೊಂಡರೆ ಅದು 13.5 ಆಗಿರುತ್ತದೆ. ವಿವರಣೆಯು 150,000 ಲೈನ್ಗಳ C ಸಂಕೇತ ಮತ್ತು 1 MB ಯಷ್ಟು ಸಂಕಲನದ ಸಾಂಕೇತಿಕ ಯಂತ್ರ ವಿನ್ಯಾಸದಲ್ಲಿ ಕಾರ್ಯಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಇದಕ್ಕೆ ಪರ್ಯಾಯವಾಗಿ, ವಿವರಣೆಯನ್ನು ಒಂದು ಲಿಂಕ್ ಲೈಬ್ರರಿಯಲ್ಲಿ ಸಂಕಲಿಸಬಹುದು. ಇತರ ಪ್ರೊಗ್ರಾಂಗಳ ಜೊತೆಗೆ ಸೇರಿಸಬಹುದು. ವಿತರಣೆಯಲ್ಲಿ ಸುಮಾರು 500 ಮಾಡ್ಯೂಲ್ಗಳಿವೆ, ಇದರಲ್ಲಿ 200,000 ಪರ್ಲ್ ಲೈನುಗಳು, ಹೀಗೆ ಹೆಚ್ಚಾಗಿ 350,000 C ಕೋಡ್ ಲೈನುಗಳು ಅಡಕವಾಗಿದೆ. (ಹೆಚ್ಚಾಗಿ C ಕೋಡಿನ ಮಾಡ್ಯೂಲ್ಗಳು ಕ್ಯಾರೆಕ್ಟರ್-ಎನ್ಕೋಡಿಂಗ್ ಟೇಬಲ್ಸ್ಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ.)
ವಿವರಣೆಗೆ ಒಂದು ವಸ್ತು-ಆಧಾರಿತ ವಿನ್ಯಾಸವಿದೆ. ಪರ್ಲ್ ಭಾಷೆಯ ಎಲ್ಲ ಅಂಶಗಳು-ಸ್ಕೆಲಾರ್ಸ್, ಅರ್ರಯ್ಸ್, ಹ್ಯಾಷೆಸ್, ಸಂಕೇತ ರೆಫ್ಸ್, ಫೈಲ್ ಹಾಂಡಲ್ಸ್ - ಎಲ್ಲವೂ C ಸ್ಟ್ರಕ್ಟ್ನ(ರಚನೆ) ವಿವರಣೆಯಲ್ಲಿ ನಿರೂಪಿತವಾಗಿದೆ. ಈ ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ(ರಚನೆಗಳ) ಮೇಲಿನ ಪ್ರಕ್ರಿಯೆಯು ಒಂದು ದೊಡ್ಡ ಮಾಕ್ರೊಸ್, ಟೈಪ್ದೆಫ್ಸ್, ಮತ್ತು ಕಾರ್ಯದ ಮೂಲಕ ಪರಿಚಿತವಾಗಿದೆ; ಇವುಗಳು ಪರ್ಲ್ C API ಯನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಪರ್ಲ್ APIಗಳು ಆರಂಭಿಸುವ ಮೊದಲು ಗೊಂದಲ ಉಂಟುಮಾಡುತ್ತವೆ, ಆದರೆ ಅದರ ಪ್ರಾರಂಭಿಕ ಹಂತದಲ್ಲಿ ಒಂದು ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೆಸರಿಸುವ ಕ್ರಮವನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಇದು ಉಪಯೋಗಿಸುವವರಿಗೆ ಮಾರ್ಗದರ್ಶನ ಒದಗಿಸುತ್ತದೆ.
ಪರ್ಲಿನ ವಿವರಣೆಯ ಕಾಲಾವಧಿಯನ್ನು ಸಂಕಲನ ಘಟ್ಟ ಮತ್ತು ಕಾರ್ಯಾಚಾರಣೆಯ ಘಟ್ಟವೆಂದು ವಿಷದವಾಗಿ ವಿಭಾಗಿಸಬಹುದು.[೩೪] ಪರ್ಲಿನಲ್ಲಿ, ಈ ಘಟ್ಟಗಳು ವಿವರಣೆಯ ಕಾಲಾವಧಿಯ ಚಕ್ರದಲ್ಲಿ ಪ್ರಮುಖ ಸ್ತರವಾಗಿವೆ. ಒಂದೊಂದು ಅರ್ಥೈಸುವ ಸಂದರ್ಭಕ್ಕೂ ಒಂದೊಂದು ಘಟ್ಟವನ್ನು ಒಂದೇ ಬಾರಿ ಹಾದು ಹೋಗುತ್ತವೆ. ಇಲ್ಲಿನ ಪ್ರಮುಖ ಘಟ್ಟಗಳು ಒಂದು ನಿಶ್ಚಿತ ಅನುಕ್ರಮವನ್ನು ಅನುಸರಿಸುತ್ತವೆ.
ಹೆಚ್ಚಾಗಿ ನಡೆಯುವುದೇನೆಂದರೆ ಪರ್ಲ್ ನ ಸಂಕಲಿತ ಘಟ್ಟವು ಪರಿವರ್ತಕವಾಗುತ್ತದೆ. ಅದು ಪರ್ಲ್ ನ ಚಲನಾ ಘಟ್ಟದಲ್ಲಿ ನಡೆಯುವ ಕಾರ್ಯಸಾಧ್ಯತೆ ಎನಿಸುತ್ತದೆ. ಆದರೆ ಅದರಲ್ಲಿ ಗಮನಾರ್ಹ ಅಪವಾದಗಳಿವೆ. ಪರ್ಲ್ ತನ್ನ ಪ್ರಮುಖ ದಕ್ಷತೆಯ ಸಾಮಾರ್ಥ್ಯದ ಉಪಯೋಗವನ್ನು ಪರ್ಲ್ ಕೋಡಿನ ಸಂಕಲನಾ ಘಟ್ಟದಲ್ಲಿ ಸಮರ್ಪಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಪರ್ಲ್ ಕಾರ್ಯಶೀಲತಾ ಘಟ್ಟದಲ್ಲಿ ಪರಿವರ್ತಕಗಳನ್ನು ವಿಳಂಬಗೊಳಿಸುತ್ತದೆ. ಯಾವುದೇ ಕ್ಷಣದಲ್ಲಿ ಒದಗಬಹುದಾದ ಹಂತವನ್ನು ಸೂಚಿಸುವ ಪದಗಳೆಂದರೆ ಕಂಪೈಲ್ ಟೈಮ್ ಮತ್ತು ರನ್ ಟೈಮ್ . ಪರ್ಲ್ ಹೆಚ್ಚಾಗಿ ಕಂಪೈಲ್ ಘಟ್ಟದಲ್ಲಿ ಕಂಪೈಲ್ ಟೈಮ್ ನಲ್ಲಿ ಇರುತ್ತದೆ, ಆದರೆ ಕಂಪೈಲ್ ಟೈಮ್ ಅನ್ನು ಚಲನಾ ಘಟ್ಟದ ಅವಧಿಯಲ್ಲಿ ಸೇರಿಸಬಹುದು. ಒಂದು ತಂತುವಿನ ಚರ್ಚೆಯು ಕೋಡಿಗೆ ಇರುವ ಕಂಪೈಲ್ ಟೈಮ್ ಅನ್ನು ಎವಾಲ್
ಬಿಲ್ಟ್-ಇನ್ (ಆಂತರ್ಯದಲ್ಲಿ)ನಲ್ಲಿ ಸಂಭವಿಸುವ ಚಲನಾ ಘಟ್ಟಕ್ಕೆ ಸಾಗುತ್ತದೆ. ಪರ್ಲ್ ಸಾಮಾನ್ಯವಾಗಿ ಕಂಪೈಲ್ ಘಟ್ಟದಲ್ಲಿ ಕಾರ್ಯಾಚರಣೆಯ ಅವಧಿಯಲ್ಲಿರುತ್ತದೆ. ಸಾಕಷ್ಟು ಚಾಲಿತ ಘಟ್ಟವನ್ನು ಚಲನಾ ಸಮಯದಲ್ಲಿ ಕಳೆಯುತ್ತದೆ. BEGIN
ಬ್ಲಾಕ್ನಲ್ಲಿ ಇರುವ ಸಂಕೇತವು ಚಲನಾ ಅವಧಿಯಲ್ಲಿನ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯ, ಕಂಪೈಲ್ ಘಟ್ಟದಲ್ಲಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುತ್ತವೆ.
ಕಂಪೈಲ್ ಅವಧಿಯಲ್ಲಿ, ಅರ್ಥೈಸುವಿಕೆಯ ಪದಾನ್ವಯವು ಪರ್ಲ್ ಕೋಡನ್ನು ವಾಕ್ಯರಚನಾ ವೃಕ್ಷವ್ಯೂಹಕ್ಕೆ ಸೇರ್ಪಡೆಗೊಳಿಸುತ್ತದೆ. ಚಲನಾ ಅವಧಿಯಲ್ಲಿ, ಅದು ಪ್ರೊಗ್ರಾಂ ಅನ್ನು ವೃಕ್ಷದ ಚಲನೆಯೊಂದಿಗೆ ಕಾರ್ಯರೂಪಕ್ಕೆ ತರುತ್ತದೆ. ಪಠ್ಯ ವಿಷಯವು ಪದಾನ್ವಯವಾಗುವುದು ಒಂದೇ ಒಂದು ಬಾರಿ, ವಾಕ್ಯ ರಚನಾ ವೃಕ್ಷರೇಖೆಯು ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುವ ಮುಂಚೆ ಅತ್ಯಂತ ಪ್ರಶಸ್ತತೆಗೆ ಒಳಪಡುತ್ತದೆ. ಇದರಿಂದ ಕಾರ್ಯರೂಪತೆ ಸಮರ್ಥವಾಗಿರುತ್ತದೆ. ಕಂಪೈಲ್-ಅವಧಿಯ ವಾಕ್ಯರಚನಾ ವೃಕ್ಷರೇಖಾಕ್ಷರದ ಪ್ರಾಶಸ್ತ್ಯವು ಸ್ಥಿರ ಪದರ ಮತ್ತು ಸಾಂದರ್ಭಿಕ ಪ್ರಸಾರ, ಆದರೆ ಇಲ್ಲಿ ಇಣಕುವ ಕಿಂಡಿಯ ಪೀಪ್ ಹೋಲ್ ಪ್ರಾಶಸ್ತ್ಯ ಕೂಡ ದೊರೆಯುತ್ತದೆ.
ಪರ್ಲ್ ಟರ್ನಿಂಗ್-ಕಂಪ್ಲೀಟ್ ವ್ಯಾಕರಣವನ್ನು ಹೊಂದಿದೆ. ಏಕೆಂದರೆ ಪದಾನ್ವಯದ ವಿವರಣೆಯು ಚಲನಾ-ಅವಧಿಯ ಕೋಡ್ ನಿಂದ ಪ್ರಭಾವಿತಗೊಂಡು ಕಂಪೈಲ್ ಘಟ್ಟದಲ್ಲಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬಂದಿದೆ.[೩೫]
ಅದ್ದರಿಂದ, ಪರ್ಲ್ ಅನ್ನು ಪದಛೇದದ ವಿವರಣೆಯನ್ನು ನೇರವಾಗಿ Lex/ Yacc lexer/parser ಸಂಯೋಜನೆ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಅರ್ಥೈಸುವವನು ತನ್ನ ಸ್ವಂತ(ಶಬ್ದ ಕೋಶ) ಲೆಕ್ಸೆರ್ ಅನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುತ್ತಾನೆ, ಇದು ಪರಿವರ್ತನೆ ಹೊಂದಿದ GNU ಬೈಸನ್ ಪದ ಅಥವಾ ವಾಕ್ಯದನ್ವಯದ ವಿವರಣೆಯೊಂದಿಗೆ ಸಮಭಾಗಿಯಾಗಿ ಭಾಷೆಯ ಅಸ್ಪಷ್ಟತೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ.
ಸಾಮಾನ್ಯವಾಗಿ ಹೇಳುವಂತೆ "ಓನ್ಲಿ ಪರ್ಲ್ ಕ್ಯಾನ್ ಪಾರ್ಸೆ ಪರ್ಲ್," ಎಂದರೆ ಪರ್ಲ್ ' ಭಾಷೆಯ ಪದಾನ್ವಯದ ವಿವರಣೆ ನೀಡಲು ಸಾಧ್ಯ, ಆದರೆ ವಾಸ್ತವವಾಗಿ ಇದು ನಿಜವಲ್ಲ. ಏಕೆಂದರೆ ಪರ್ಲಿನ ವಿವರಕನು ಟ್ಯುರಿಂಗ್ ಮಷಿನ್ ಅನ್ನು ಕಂಪೈಲ್ ಘಟ್ಟದಲ್ಲಿ ಅನುಕರಿಸಲು ಸಾಧ್ಯ,ಹಾಲ್ಟಿಂಗ್ ಪ್ರಾಬ್ಲಂ ಅನ್ನು ಪ್ರತಿಯೊಂದು ಸ್ಥಿತಿಯಲ್ಲಿ ಸಂಪೂರ್ಣ ಪದಾನ್ವಯದ ವಿವರಣೆಯೊಂದಿಗೆ ನಿರ್ಧರಿಸುವ ಅಗತ್ಯವಿದೆ. ಒಂದು ದೀರ್ಘಕಾಲದ ಪರಿಣಾಮವೆಂದರೆ ಹಾಲ್ಟಿಂಗ್ ಪ್ರಾಬ್ಲಮ್ ಅನಿಶ್ಚಿತವಾದುದು. ಹೀಗಾಗಿ ಪರ್ಲ್ ಕೂಡ ಯಾವಾಗಲೂ ಪರ್ಲಿನ ಪದಾನ್ವಯದ ವಿವರಣೆ ನೀಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪರ್ಲ್ ನ ವಿಶೇಷ ಆಯ್ಕೆ ಯುಸರ್ ಅಕ್ಸೆಸ್ಸ್ಗೆ ಪೂರ್ಣ ಪ್ರೊಗ್ರಾಮ್ಮಿಂಗ್ ಶಕ್ತಿಯನ್ನು ಅದರ ಕಂಪೈಲರ್ ಘಟ್ಟದಲ್ಲಿ ನೀಡುತ್ತದೆ. ಸೈದ್ದಾಂತಿಕ ಶುದ್ದಿಯಿಂದ ತೆಗೆದುಕೊಂಡರೆ ಬೆಲೆ ಅಧಿಕವಾಗಿರುತ್ತದೆ, ಆದರೆ ವ್ಯವಹಾರಿಕ ಅನಾನುಕೂಲವು ತುಂಬಾ ವಿರಳ.
ಪರ್ಲಿನ ಪದಾನ್ವಯದ ವಿವರಣೆಯನ್ನು ಇತರ ಪ್ರೊಗ್ರಾಮ್ಗಳು ವಹಿಸಿಕೊಳ್ಳುತ್ತವೆ. ಉದಾಹರಣೆಗೆ ಆಧಾರ-ಸಂಕೇತದ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಆಟೋ-ಇನ್ಡೆಂಟ್ಟರ್ಸ್, ಅಸ್ಪಷ್ಟ ವಾಕ್ಯ ವೃಕ್ಷದ ರಚನೆಯ ಜೊತೆ ಮಾತ್ರವಲ್ಲದೆ ಸಾಮಾನ್ಯ ಸ್ಥಿತಿಯಲ್ಲಿ ಪರ್ಲ್ ನ ಪದಾನ್ವಯದ ವಿವರಣೆಯ ಅನಿಶ್ಚಿತತೆಯ ಜೊತೆಯೂ ಸಹ ಸ್ಪರ್ಧಿಸಬೇಕಾಗುತ್ತದೆ. ಆಡಂ ಕೆನ್ನೆಡಿಯವರ PPI ಯೋಜನೆ ಪರ್ಲ್ ಅನ್ನು ಪದಾನ್ವಯದ ವಿವರಣೆಯನ್ನು ಕಾರ್ಯರೂಪಕ್ಕೆ ತರಬಲ್ಲ ಸಂಕೇತವಾಗಿಸುವ ಬದಲಾಗಿ ( ಇದನ್ನು ಪರ್ಲ್ ತನ್ನಷ್ಟಕ್ಕೆ ಯಾವಾಗಲೂ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.) ಪರ್ಲ್ ಕೋಡ್ ನ ಪದಾನ್ವಯದ ವಿವರಣೆಯನ್ನು ಒಂದು ದಾಖಲೆಯಾಗಿಸುವ ಬಗ್ಗೆ ಗಮನ ಕೇಂದ್ರೀಕರಿಸಿತು. ( ಅದರ ಸಮಗ್ರತೆಯನ್ನು ಒಂದು ದಾಖಲೆಯಾಗಿ ಉಳಿಸಿಕೊಂಡಿತು). ಕೆನ್ನೆಡಿಯವರು ಮೊದಲೇ ಊಹಿಸಿದಂತೆ, " ಪರ್ಲಿನ ಪದಾನ್ವಯದ ವಿವರಣೆಯು ಹಾಲ್ಟಿಂಗ್ ಸಮಸ್ಯೆ ಯನ್ನು ಅನುಭವಿಸುತ್ತದೆ."[೩೬], ಮತ್ತು ನಂತರದಲ್ಲಿ ಇದು ಸಾಬೀತಾಯಿತು.[೩೭]
ಪರ್ಲ್ ಅನ್ನು ಸುಮಾರು 120,000 ಕಾರ್ಯಚಟುವಟಿಕೆಯ ಪರೀಕ್ಷೆಗಾಗಿ ಹಂಚಿಕೆಮಾಡಲಾಗಿದೆ. ಇವು ಸಾಧಾರಣ ರಚನಾ ಪ್ರಕ್ರಿಯೆಯ ಭಾಗವಾಗಿ ಚಾಲನೆಯಲ್ಲಿರುತ್ತವೆ. ಈ ವಿವರಣೆ ಮತ್ತು ಅದರ ಕೋರ್ ಮಾಡ್ಯೂಲ್ಗಳು ವ್ಯಾಪಕವಾಗಿ ಬಳಕೆಯಲ್ಲಿವೆ. ಪರ್ಲ್ ಅಭಿವೃದ್ಧಿ ಪಡಿಸುವವರು ಕಾರ್ಯಚಟುವಟಿಕೆಯ ಪರೀಕ್ಷೆಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿ ವಿವರಣೆಯ ಮಾರ್ಪಾಡಿನಿಂದ ಬಗ್ ಪ್ರವೇಶಿಸದ ಹಾಗೆ ಖಾತ್ರಿಪಡಿಸುತ್ತಾರೆ; ಇದಕ್ಕೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, ಪರ್ಲ್ ಬಳಕೆದಾರರು ತಮ್ಮ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ವಿವರಣೆಯ ಕಾರ್ಯಾತ್ಮಕ ಶೋಧನೆ ನಡೆದಾಗ ಅದು ಸಮರ್ಥವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಎಂಬ ಆತ್ಮವಿಶ್ವಾಸ ಅವರಿಗೆ ದೊರೆಯುತ್ತದೆ.
ಪರ್ಲ್ ಅರ್ಥವಿವರಣೆಯ ಸಾಮರ್ಥ್ಯ ಸಂರಕ್ಷಣೆ ಮತ್ತು ಮೇಲುಸ್ತುವಾರಿ ಮಾಡುವ ಸಮಸ್ಯೆಯನ್ನು ಬರುವ ವರ್ಷಗಳಲ್ಲಿ ಹೆಚ್ಚು ಎದುರಿಸುತ್ತದೆ. ಸಂಕೇತ ಆಧಾರವು 1994ರಿಂದ ನಿರಂತರ ಬೆಳವಣಿಗೆಯನ್ನು ಹೊಂದುತ್ತಿದೆ. ಕೋಡನ್ನು ನಿರ್ವಹಣೆಗೆ ಅನುಕೂಲವಾಗುವಂತೆ ಸರಳ, ಸ್ಪಷ್ಟ, ಮತ್ತು ಸಮರ್ಥ ಆಂತರಿಕ ಇಂಟರ್ಫೆಸೆಸ್ಗಳಾಗಿ ಬಳಸಿಕೊಳ್ಳಲಾಗಿದೆ.
ಇದರಲ್ಲಿ ಹೊಸ ಕಾರ್ಯ ಚಟುವಟಿಕೆಯ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಆದರೂ ಕಾರ್ಯತಃ ಸಂಪೂರ್ಣ ವಿಮುಖ ಹೊಂದಾಣಿಕೆಯನ್ನು ಅದರ ಮುಂಚಿನ ರೂಪಗಳಲ್ಲಿ ಉಳಿಸಿಕೊಂಡು ಬಂದಿದೆ. ಪರ್ಲಿನ ಹೊಸ ಬಿಡುಗಡೆಗಳು ಪರ್ಲ್ ಪಂಪ್ಕಿಂಗ್ಸ್ ಜೊತೆ ಸಂಘಟಿತಗೊಂಡಿದೆ. ಇವು ಸಮಗ್ರ ಪ್ಯಾಚ್ ಸಬ್ಮಿಸ್ಶನ್ ಮತ್ತು ಬಗ್ ಫಿಕ್ಸಸ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ, ಇವೆಲ್ಲವನ್ನೂ ಪರ್ಲ್ 5_porters ನ ಮೈಲಿಂಗ್ ಲಿಸ್ಟ್ನ ಮೂಲಕ ಮಾಡಲಾಗುತ್ತದೆ. ಪರ್ಲ್ 5.11ಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಬೆಳವಣಿಗೆಯ ಯತ್ನಗಳು ಕೆಲವು ಕೋರ್ ಮಾಡ್ಯೂಲ್ಗಳ ರೆಫಾಕ್ಟೊರಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿವೆ. ಇದು ಪರ್ಲ್ ಕೋರ್[೩೮] ನ 'ಡ್ಯೂಯಲ್ ಲೈಫ್ಡ್' ಮಾಡ್ಯೂಲ್ಗಳೆಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. ಇದು ಕೆಲವು ಸಮಸ್ಯೆಗಳ ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ.
ಲಭ್ಯತೆ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಒಂದು ಸ್ವತಂತ್ರ ಸಾಫ್ಟ್ ವೇರ್ ಮತ್ತು ಅರ್ಟಿಸ್ಟಿಕ್ ಲೈಸೆನ್ಸ್ ಮತ್ತು GNU ಜನರಲ್ ಪಬ್ಲಿಕ್ ಲೈಸೆನ್ಸ್ ಎರಡರಿಂದಲೂ ಅನುಮತಿ ಪಡೆದಿದೆ. ಹಲವು ಕಾರ್ಯಾಚರಣೆಯ ಪದ್ದತಿಗಳಿಗೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಸ್ ಗಳಿಗೆ ಹಂಚಿಕೆಗಳು ಲಭ್ಯವಿವೆ. ಇದು ವಿಶೇಷವಾಗಿ Unix ಮತ್ತು Unix-likeಸಿಸ್ಟಮ್ ಗಳಲ್ಲಿ ಚಾಲ್ತಿಯಲ್ಲಿವೆ. ಆದರೆ ಇದನ್ನು ಹಲವು ನೂತನ (ಮತ್ತು ಹಲವು ಚಾಲ್ತಿಯಲ್ಲಿಲ್ಲದ) ವೇದಿಕೆಗಳಿಗೆ ಕೊಂಡಿಯಾಗಿ ಬಳಸಲಾಗಿದೆ. ಆರು ವರದಿಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಪರ್ಲ್ ಅನ್ನು ಎಲ್ಲ Unix-ಲೈಕ್ ಸೋರ್ಸ್ ಸಂಕೇತ , POSIX-ಕಂಪ್ಲೈಂಟ್, ಅಥವಾ ಬೇರೆಯ-Unix-compatible ಪ್ಲಾಟ್ಫಾರ್ಮ್ಸಗಳಲ್ಲಿ ಸಂಕಲಿಸಬಹುದು.[೩೯] ಆದಾಗ್ಯೂ, ಇದು ವಿರಳವಾಗಿ ಅವಶ್ಯಕವಾಗಿರುತ್ತವೆ, ಏಕೆಂದರೆ ಪರ್ಲ್ ಅನ್ನು ಹಲವು ಜನಪ್ರಿಯ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟೆಮ್ಸ್ಗಳಲ್ಲಿ ಡಿಫಾಲ್ಟ್ ಅಳವಡಿಕೆಗಳಾಗಿ ಸೇರ್ಪಟ್ಟಿರುತ್ತವೆ.
Mac OS Classicಪರಿಸ್ಥಿತಿಗೆ ಬೇಕಾದ ವಿಶೇಷ ಮಾರ್ಪಾಡಿನಿಂದ, ಒಂದು ವಿಶೇಷ ಕೊಂಡಿ Macಪರ್ಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಚಯಿಸಲಾಯಿತು.[೪೦]
ದಿ ಕ್ಯಾಮ್ಪ್ರಹೆನ್ಸಿವ್ ಪರ್ಲ್ ಅರ್ಕ್ಹಿವ್ ನೆಟ್ವರ್ಕ್ (ಸಮಗ್ರ ಸಕ್ರಿಯ ಪರ್ಲ್ ಜಾಲ) CPAN ಸಹಾಯಕ ವೇದಿಕೆಯ ಒಂದು ಪೂರ್ಣ ಪಟ್ಟಿಯ ಜೊತೆಗೆ ಅದರ ಹಂಚಿಕೆಯ ಲಿಂಕ್ ಗಳನ್ನು ಪ್ರತಿಯೊಂದಕ್ಕೂ ಲಭ್ಯವಾಗುವಂತೆ ವರ್ಗಾಯಿಸುತ್ತದೆ.[೪೧] CPAN ಸಾರ್ವಜನಿಕವಾಗಿ ದೊರಕುವ ಪರ್ಲ್ ಮಾಡ್ಯೂಲ್ಗಳ ಆಧಾರವಾಗಿದೆ. ಇವುಗಳು ಕೋರ್ ಪರ್ಲ್ ಹಂಚಿಕೆಯ ಭಾಗವಾಗಿಲ್ಲ.
ವಿಂಡೋಸ್
[ಬದಲಾಯಿಸಿ]ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ನ ಬಳಕೆದಾರರು ಪರ್ಲ್ ನ ಒಂದು ಸ್ವಾಭಾವಿಕ ಜೋಡಿ ಹಂಚಿಕೆಗಳನ್ನು Win32[೪೨] ಕ್ಕೆ ಮಾದರಿಯಾಗಿ ಅಳವಡಿಸಿರುತ್ತಾರೆ. ಸಾಮಾನ್ಯವಾಗಿ ಆಕ್ಟಿವ್ ಪರ್ಲ್. ಆಧಾರ ಸಂಕೇತದಿಂದ ಪರ್ಲ್ ನ ಸಂಕಲನದ ವಿಂಡೋಸ್ ಅಡಿಯಲ್ಲಿ ಸಾಧ್ಯ, ಆದರೆ ಹಲವು ಅಳವಡಿಕೆಗಳು ಅವಶ್ಯಕವಾದ C ಕಂಪೈಲರ್ ಮತ್ತು ರಚನಾ ಪರಿಕರದ ಕೊರತೆ ಹೊಂದಿರುತ್ತದೆ. ಇದರಿಂದ CPANನಿಂದ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಅಳವಡಿಸಲು ಕಷ್ಟವಾಗುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ಭಾಗಶಃ Cನಿಂದ; ಆಕ್ಟಿವ್ ಪರ್ಲ್ ಜೋಡಿ ಹಂಚಿಕೆಯ ಬಳಕೆದಾರರು, ಹೀಗಾಗಿ,ಆಕ್ಟಿವ್ ಸ್ಟೇಟ್ಸ್ ಮಾಡ್ಯೂಲ್ ನ ಸಂಗ್ರಹದಲ್ಲಿ ಒದಗುವ ರಿಪ್ಯಾಕೇಜ್ಡ್ ಮಾಡ್ಯೂಲ್ ನ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಿರುತ್ತಾರೆ, ಅವುಗಳು ಪೂರ್ವ ಸಂಕಲಿತವಾಗಿರುತ್ತವೆ. ಅಲ್ಲದೇ PPM ಜೊತೆ ಅಳವಡಿಸಬಹುದು.ಈ ಸಂಗ್ರಹದ ನಿರ್ವಹಣೆಗೆ ಸಂಪತ್ತು ಸೀಮಿತವಾಗಿರುವುದರಿಂದ ಹಲವು ದೀರ್ಘ-ಕಾಲಿಕ ಸಮಸ್ಯೆಗಳು ತಲೆದೋರಿವೆ.[೪೩][೪೪]
ಸ್ಟ್ರಾಬೆರ್ರಿ ಪರ್ಲ್,[೪೫](ಈ ಸಂಬಂಧದಲ್ಲಿ) ಒಂದು ಹೊಸ ಮತ್ತು ವಿಂಡೋಸ್ ಗೆ ಒಂದು ಮುಕ್ತ ಆಧಾರದ ಹಂಚಿಕೆ . ಇದು ನಿಯಮಿತವಾಗಿ, ಜನವರಿ 2008ರಿಂದ ತ್ರೈಮಾಸಿಕ ಬಿಡುಗಡೆಗಳನ್ನು ಹೊಂದಿದೆ, ಜೊತೆಗೆ ಹೊಸ ಮಾಡ್ಯೂಲ್ ಗಳ ಬಗ್ಗೆ ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ಕೋರಿಕೆಗಳು ಬಂದಿವೆ. ಸ್ಟ್ರಾಬೆರ್ರಿ ಪರ್ಲ್ ಇತರ ವೇದಿಕೆಯ ಮೇಲೆ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪರ್ಲ್ ನ ಹಂಚಿಕೆಗಳ ರೀತಿಯಲ್ಲಿ ಮಾಡ್ಯೂಲ್ ಗಳ ಅಳವಡಿಕೆಯ ಸಾಧ್ಯತೆಯ ಗುರಿ ಹೊಂದಿದೆ, ಇದರಲ್ಲಿ XS ಮಾಡ್ಯೂಲ್ ಗಳ ಸಂಕಲನವು ಸೇರಿದೆ. ಅಕ್ಟೋಬರ್ 2009ರ ತನಕ, ಸ್ಟ್ರಾಬೆರ್ರಿ ಪರ್ಲ್ [೨] ಡೌನ್ ಲೋಡ್ಸ್ ನಲ್ಲಿ ಪ್ರಥಮ ಪಟ್ಟಿಯಲ್ಲಿದೆ.
(ಉನ್ನತ ಮಟ್ಟದ)ಸ್ಟ್ರಾಬೆರ್ರಿ ಪರ್ಲ್ ಒಂದು ಆಕ್ಟಿವ್ ಸ್ಟೇಟ್ ನ ಹಂಚಿಕೆಯಲ್ಲಿರುವ ಲೋಪ್-ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸುವ ಹಾದಿಯಲ್ಲಿ ಮತ್ತು ಇತರ ಪರ್ಲ್ ನ ಸಮಸ್ಯೆಗಳನ್ನು ವಿಂಡೋಸ್ ವೇದಿಕೆಯಲ್ಲಿ ತೀರ್ಮಾನಿಸಲು ಪ್ರಾರಂಭಿಸಲಾಯಿತು. win32.ಪರ್ಲ್ .org[೪೬] ಅನ್ನು ಆಡಂ ಕೆನ್ನೆಡಿ ದಿ ಪರ್ಲ್ ಫೌಂಡೆಶನ್ನ ಪರವಾಗಿ ಜೂನ್ 2006ರಲ್ಲಿ ಜಾರಿಗೆ ತಂದರು. ಇದು "ವಿಂಡೋಸ್ ಮತ್ತು ಪರ್ಲ್ ನ ಎಲ್ಲ ವಿಷಯಗಳಿಗೂ" ಒಂದು ಸಾಮೂಹಿಕ ಅಂತರಜಾಲ. ಈ ಯೋಜನೆಯ ಒಂದು ಪ್ರಮುಖ ಗುರಿಯೆಂದರೆ ಪರ್ಲ್ ಹಂಚಿಕೆಗಳಲ್ಲಿ ಉತ್ಪಾದನಾ-ಗುಣಮಟ್ಟಕ್ಕೆ ಪರ್ಯಾಯ ಒದಗಿಸುವುದು. ಇದರಲ್ಲಿ C ಕಂಪೈಲರ್ ಸೇರಿದೆ. ಇದರ ರಚನಾ ಪರಿಕರವನ್ನೂ ಒಳಗೊಂಡಿದೆ. ವಿಂಡೋಸ್ ಬಳಕೆದಾರರಿಗೆ ಮಾಡ್ಯೂಲ್ ಗಳನ್ನೂ ನೇರವಾಗಿ CPAN ನಿಂದ ಅಳವಡಿಸಿಕೊಳ್ಳಲು ಅನುಕೂಲ ಮಾಡಿಕೊಡುತ್ತವೆ. ಇದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಇನ್ನೊಂದು ರೂಪದ ಸಂಶೋಧನೆ ಮತ್ತು ಪ್ರಯೋಗವನ್ನು ವನಿಲ್ಲಾ ಪರ್ಲ್ ಹಂಚಿಕೆಯಲ್ಲಿ ಮಾಡಲಾಯಿತು.[೪೭]
ದಿ ಸಿಗ್ವಿನ್ ಮೇಲ್ಪಂಕ್ತಿಯ ಪದರವು ವಿಂಡೋಸ್ ಅಡಿಯಲ್ಲಿ ಪರ್ಲ್ ಅನ್ನು ಚಾಲ್ತಿಯಲ್ಲಿಡುವ ಇನ್ನೊಂದು ಜನಪ್ರಿಯ ಮಾರ್ಗ. ವಿಂಡೋಸ್ ನಲ್ಲಿ ಸಿಗ್ವಿನ್ ಒಂದು Unix-ಲೈಕ್ ವಾತಾವರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಪರ್ಲ್ ಮತ್ತು cpan ಎರಡೂ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪ್ರಿ-ಕಂಪೈಲ್ದ್ ಪ್ಯಾಕೆಜಸ್ ಆಗಿ ಸಿಗ್ವಿನ್ ಸೆಟಪ್ ಪ್ರೊಗ್ರಾಮ್ನಲ್ಲಿ ಅನುಕೂಲಕರವಾಗಿ ಲಭ್ಯವಾಗುತ್ತದೆ. ಏಕೆಂದರೆ ಸಿಗ್ವಿನ್ gccಯನ್ನೂ ಒಳಗೊಂಡಿದೆ, ಪರ್ಲ್ ಅನ್ನು ಮೂಲದ ಆಧಾರದ ಮೇಲೆ ಸಂಕಲಿಸುವುದು ಕೂಡ ಸಾಧ್ಯ.
ಭಾಷೆಯ ರಚನಾ-ಕ್ರಮ
[ಬದಲಾಯಿಸಿ]This section is written like a manual or guidebook. (December 2008) |
ಪರ್ಲ್ ನಲ್ಲಿ, ಕನಿಷ್ಠ ಹಲೋ ವರ್ಲ್ಡ್ ಪ್ರೊಗ್ರಾಮ್ ಅನ್ನು ಕೆಳಕಂಡಂತೆ ಬರೆಯಲು ಸಾಧ್ಯ:
print "Hello, world!\n";
ಇದು 1}Hello,world! ಸರಣಿ ತಂತುವನ್ನು ಮುದ್ರಣ ಮಾಡುತ್ತದೆ. ಅಲ್ಲದೇ ಒಂದು ಹೊಸವಾಕ್ಯ, ಸಾಂಕೇತಿಕವಾಗಿ ಒಂದು n
ವಿಶೇಷ ಚಿಹ್ನೆಯ ಮೂಲಕ ವ್ಯಕ್ತಪಡಿಸುತ್ತದೆ. ಇದರ ಅರ್ಥ ವಿವರಣೆಯು ಪ್ರೆಸೆಡಿಂಗ್ ಎಸ್ಕೇಪ್ ವಿಶೇಷ ಚಿಹ್ನೆ (ಒಂದು ಬ್ಯಾಕ್ ಸ್ಲಾಶ್) ಮೂಲಕ ಬದಲಾಗುತ್ತದೆ.
ಪ್ರೊಗ್ರಾಮಿನ ಅಧಿಕೃತ ರೂಪವು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಶಬ್ದಾಡಂಬರವಾಗಿದೆ:
!/usr/bin/perl
print "Hello, world!\n";
ಹ್ಯಾಷ್ ಮಾರ್ಕ್ ವಿಶೇಷ ಚಿಹ್ನೆ ಒಂದುಟೀಕೆಯನ್ನು ಪರ್ಲ್ ನಲ್ಲಿ ಪರಿಚಯಿಸುತ್ತದೆ, ಇದು ಕೋಡಿನ ಲೈನಿನ ಅಂತ್ಯದವರೆಗೂ ಬೆಳೆಯುತ್ತದೆ. ಅಲ್ಲದೇ ಕಂಪೈಲರ್ ಇದನ್ನು ಕಡೆಗಣಿಸುತ್ತದೆ. ಇಲ್ಲಿ ಬಳಕೆಯಾದ ಟೀಕೆಗೆ ಒಂದು ವಿಶೇಷ ಲಕ್ಷಣವಿದೆ: ಇದು ಸಮಗ್ರ ವಿಷಯದ ಶೇಬ್ಯಾಂಗ್ಲೈನ್ ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. ಇದು Unix-ಮಾದರಿಯ ಕಾರ್ಯ ವ್ಯವಸ್ಥೆಗೆ ಪರ್ಲ್ ವಿವರಣೆಯನ್ನು ಹುಡುಕಲು ಸೂಚಿಸುತ್ತದೆ.ಪರ್ಲ್
ಅನ್ನು ಅಸ್ಪಷ್ಟವಾಗಿ ಉಲ್ಲೇಖಿಸಲು ಪ್ರೊಗ್ರಾಮ್ ಅನ್ನು ಈ ಸಂದರ್ಭದಲ್ಲಿ ಆಮಂತ್ರಿಸುತ್ತದೆ. (ಗಮನದಲ್ಲಿಡಬೇಕಾದ ಅಂಶವೆಂದರೆ, ಮೈಕ್ರೋ ಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ಗಳ ವಿಶಿಷ್ಟ ಆಹ್ವಾನವನ್ನು .pl
ಎಕ್ಸ್ಟೆನ್ಶನ್ ನ ಸಹಯೋಗದೊಂದಿಗೆ ಪರ್ಲ್ ವಿವರಣೆ ನೀಡುತ್ತದೆ.
ಇಂತಹ ಸಂದರ್ಭಗಳನ್ನು ಎದುರಿಸಲು, ಪರ್ಲ್
ಶೇಬ್ಯಾಂಗ್ ಲೈನನ್ನು ಪತ್ತೆ ಹಚ್ಚುತ್ತದೆ. ಅಲ್ಲದೇ ಪದಾನ್ವಯದ ವಿವರಣೆಗೆ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುತ್ತದೆ;[೪೮] ಆದ್ದರಿಂದ, ಶೇಬ್ಯಾಂಗ್ ಲೈನ್ ಕಂಪೈಲರ್ನಿಂದ ಅಲಕ್ಷ್ಯಗೊಂಡಿದೆ ಎಂಬುದು ಸಂಪೂರ್ಣ ನಿಜವಲ್ಲ.)
ಅಧಿಕೃತ ರೂಪದಲ್ಲಿರುವ ಎರಡನೇ ವಾಕ್ಯ ಒಂದು ಅಲ್ಪ ವಿರಾಮ ಚಿಹ್ನೆಯನ್ನು ಒಳಗೊಂಡಿದೆ. ಇದನ್ನು ಪರ್ಲ್ ನ ಪ್ರತ್ಯೇಕ ನಿರೂಪಣೆಗಳಿಗೆ ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಒಂದು ಬ್ಲಾಕ್ ಅಥವಾ ಫೈಲ್ ನಲ್ಲಿರುವ ಒಂದು ಏಕ ನಿರೂಪಣೆಗೆ, ಒಂದು ವಿಂಗಡಕ ಅನವಶ್ಯಕ, ಆದರಿಂದ ಇದನ್ನು ಪ್ರೊಗ್ರಾಮ್ನ ಕನಿಷ್ಠ ರೂಪದಿಂದ ಬಿಟ್ಟುಬಿಡಬಹುದು-ಅಥವಾ ಸಾಧಾರಣವಾಗಿ ಯಾವುದೇ ಬ್ಲಾಕ್ ಅಥವಾ ಫೈಲಿನ ಅಂತಿಮ ನಿರೂಪಣೆಯಿಂದಲೂ ತೆಗೆದುಹಾಕಬಹುದು. ಅಧಿಕೃತ ರೂಪವು ಇದನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ. ಏಕೆಂದರೆ ಪ್ರತಿ ನಿರೂಪಣೆಯನ್ನು ಕೊನೆಗೊಳಿಸುವುದು ಅನವಶ್ಯಕವಾದರೂ ಇದು ಇಲ್ಲಿ ಸಾಮಾನ್ಯ. ಇದರ ಪರಿಷ್ಕರಣೆ ಸುಲಭ: ಕೋಡನ್ನು ಸೇರಿಸಬಹುದು, ಅಥವಾ ಬ್ಲಾಕ್ ಅಥವಾ ಫೈಲಿನ ಕಡೆಯಿಂದ ಸೆಮಿಕಾಲನ್ಸ್ ಅನ್ನು ಅಳವಡಿಸದೆ ಸ್ಥಳಾಂತರಿಸಬಹುದು.
ಪರ್ಲ್ 5.10ರ ರೂಪವು ಒಂದು ಸೆ
ಕಾರ್ಯವನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ಇದು ಒಂದು ನ್ಯೂಲೈನ್ ವಿಶೇಷ ಚಿಹ್ನೆ ಅನ್ನು ಸೂಚ್ಯವಾಗಿ ಲಗತ್ತಿಸುತ್ತದೆ, ಕನಿಷ್ಠ "ಹಲೋ ವರ್ಲ್ಡ್" ಪ್ರೋಗ್ರಾಮನ್ನು ಇನ್ನೂ ಮೊಟಕುಗೊಳಿಸುತ್ತದೆ:
use v5.10.0; # ಹೊಸ 5.10 ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಸೂಚನೆಗೆ ಉಪಸ್ಥಿತವಿರಬೇಕಾಗುತ್ತದೆ.
'ಹಲೋ, ವರ್ಲ್ಡ್!' ಎಂದು ಹೇಳಿ.
ಡಾಟಾ ಮಾದರಿಗಳು (ಅಂಕಿಅಂಶ ದತ್ತಾಂಶ ಮಾದರಿಗಳು)
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಅಸಂಖ್ಯಾತ ಮೂಲ ಡಾಟಾ ಮಾದರಿಗಳನ್ನು ಹೊಂದಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಬಳಕೆಯಲ್ಲಿರುವ ಮತ್ತು ಚರ್ಚೆಯಲ್ಲಿರುವುದೆಂದರೆ (ಪರಿಮಾಣ) ಸ್ಕೆಲಾರ್ಸ್ , (ಪದವ್ಯೂಹ)ಅರ್ರೆಯ್ಸ್, ಹ್ಯಾಷೆಸ್, ಫೈಲ್ ಹ್ಯಾಂಡಲ್ಸ್ ಮತ್ತು ಸಬ್ರುಟೀನ್ಸ್
- ಸ್ಕೆಲಾರ್ (ಪರಿಮಾಣ) ಒಂದು ಏಕ ಮೌಲ್ಯ; ಅದು ಒಂದು ಅಂಕಿ- ಸಂಖ್ಯೆ, ಒಂದು ಸರಣಿ ತಂತು, ಅಥವಾ ಒಂದು ಉಲ್ಲೇಖವಾಗಿರಬಹುದು.
- ಈ ವ್ಯೂಹ ರಚನೆಯು)ಅರ್ರೆಯ್ ಸ್ಕೆಲಾರ್ಗಳ ಒಂದು ವ್ಯವಸ್ಥಿತ ಸಂಗ್ರಹ.
- ಹ್ಯಾಷ್, ಅಥವಾ ಅಸೋಸಿಯೇಟಿವ್ ಅರ್ರೆಯ್, ತಂತುಗಳಿಂದ ಸ್ಕೆಲಾರ್ ವರೆಗಿನ ಒಂದು ನಕ್ಷೆ; ತಂತುಗಳನ್ನು ಕೀಸ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇನ್ನು ಸ್ಕೆಲಾರ್ಗಳನ್ನು ವಾಲ್ಯುಸ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.
- ಫೈಲ್ ಹಾಂಡಲ್ ಒಂದು ಕಡತಕ್ಕೆ ನಕ್ಷೆ, ಸಾಧನಕ್ಕೆ, ಅಥವಾ ನಳಿಕೆಗೆ ಒಂದು ನಕ್ಷೆ; ಇದು ಓದಲು, ಬರೆಯಲು, ಅಥವಾ ಎರಡಕ್ಕೂ ತೆರೆದುಕೊಳ್ಳುತ್ತದೆ.
- (ನಿರಂತರ ಬಳಸುವ ಮಾಮೂಲು ಕ್ರಮ) ಸಬ್ರುಟೀನ್ ಕೋಡ್ ನ ಒಂದು ತುಣುಕು ಇದರಿಂದ ಚರ್ಚೆ ಫಲಿಸಿ, ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರಬಹುದು, ಅಲ್ಲದೇ ಅದು (ದತ್ತಾಂಶ)ಡಾಟಾವನ್ನು ಮರಳಿಸುತ್ತದೆ.
ಹಲವು ವೇರಿಯಬಲ್ಗಳು (ವ್ಯತ್ಯಾಸಗಳು)ಸಿಗಿಲ್ನ ನಿರ್ದೇಶನದಲ್ಲಿ ಗುರುತಿಸಲ್ಪಡುತ್ತವೆ. ಇದು ಡಾಟಾ ಮಾದರಿಯ ಅಕ್ಸೆಸ್ ಅನ್ನು ಗುರುತಿಸುತ್ತದೆ. ಸ್ವತಃ ಅನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯ ಮಾದರಿಯಲ್ಲಿ ಅಲ್ಲ), ಸಿಗಿಲ್ ಹೊಂದಿರದಿದ್ದ ಫೈಲ್ ಹಾಂಡಲ್ಸ್ ಇದಕ್ಕೆ ಹೊರತಾಗಿದೆ. ಅದೇ ಹೆಸರನ್ನು ಮೌಲ್ಯಗಳ ವಿವಿಧ ಡಾಟಾ ಮಾದರಿಗಳಲ್ಲಿ ಸಮಂಜಸವಾಗಿ ಬಳಕೆ ಮಾಡಿಕೊಳ್ಳಬಹುದು.
ಸಿಗಿಲ್ | ಉದಾಹರಣೆ | ವರ್ಗ |
$ | $foo | ಒಂದು ಸ್ಕೆಲಾರ್ |
@ | @foo | ಒಂದು ಅರ್ರೆಯ್ (ವ್ಯೂಹಾ ರಚನೆ) |
% | %foo | ಒಂದು ಹ್ಯಾಷ್ |
ಯಾವುದೂ ಇಲ್ಲ | FOO | ಒಂದು ಫೈಲ್ ಹಾಂಡಲ್ |
& | &foo | ಒಂದು ಸಬ್ರುಟೀನ್ (ಕೆಲವು ಕಾನ್ಟೆಕ್ಸ್ಟ್ಸಗಳಲ್ಲಿ ಇದು ಐಚ್ಚಿಕ) |
* | *foo | ಒಂದು ಟೈಪ್ಗ್ಲೋಬ್ |
ಫೈಲ್ ಹಾಂಡಲ್ಸ್ ಮತ್ತು (ಸ್ಥಿರ ಪದಗಳು) ಕಾನ್ಸ್ಟಂಟ್ಗಳು ಅಪ್ಪರ್ ಕೇಸ್ ನಲ್ಲಿ ಇರಬೇಕೆಂದೇನೂ ಇಲ್ಲ, ಆದರೆ ಇದು ಒಂದು ಸಾಮಾನ್ಯ ರೂಢಿ; ಏಕೆಂದರೆ ಅವುಗಳನ್ನು ಸೂಚಿಸುವ ಯಾವುದೇ ಸಿಗಿಲ್ ಗಳಿಲ್ಲ ಅಥವಾ ಸಂಜ್ಞೆಗಳಿಲ್ಲ. ಎರಡರ ವ್ಯಾಪ್ತಿಯು ಜಾಗತಿಕ ವೆಶಾಲ್ಯ ಪಡೆದಿದೆ, ಆದರೆ ಫೈಲ್ ಹಾಂಡಲ್ ಗಳನ್ನು ಅದರ ನಿರ್ದೇಶನದ ಮೇಲೆ ಪರಸ್ಪರ ಬದಲಾಯಿಸಬಹುದು, ಇದನ್ನು ಸ್ಕೆಲಾರ್ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಬಹುದು, ಇದಲ್ಲದೇ ಬದಲಾಗಿ ಪದಗಳ ವ್ಯಾಪ್ತಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಹೀಗೆ ಮಾಡುವುದನ್ನು ಡಾಮಿಯನ್ ಕಾನ್ವೆಯವರ ಪರ್ಲ್ ಬೆಸ್ಟ್ ಪ್ರಾಕ್ಟಿಸಸ್ ನಲ್ಲಿ ಪ್ರೋತ್ಸಾಹಿಸಲಾಗಿದೆ. ಅನುಕೂಲದ ದೃಷ್ಟಿಯಿಂದ, ಪರ್ಲ್ 5.6 ಮುಕ್ತ
ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತದೆ. ಹೊಸದು ಒಂದು ಸ್ಕೆಲಾರ್ ಮೌಲ್ಯವನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ, ಅದು ಸ್ವಚೈತನ್ಯದಿಂದ ಸಿದ್ದಗೊಂಡು ಹೆಸರಿನತ್ತ ಫೈಲ್ ನಿರ್ವಹಣೆಯ ಜಾಗದಲ್ಲಿ ಒಂದು ಹೆಸರಿಸದ ಫೈಲ್ ನಿರ್ವಹಣೆಗೆ ಮಾಹಿತಿಯಾಗುತ್ತದೆ.
ಸ್ಕೆಲಾರ್ ಮೌಲ್ಯಗಳು
[ಬದಲಾಯಿಸಿ]ಸರಣಿ ತಂತು ಮೌಲ್ಯಗಳನ್ನು (ಅಕ್ಷರಗಳು) ಉದ್ದರಣ ಚಿನ್ಹೆಗಳಿಂದ ಸುತ್ತುಗಟ್ಟಬೇಕು. ಒಂದು ಸರಣಿ ತಂತುವನ್ನು ಎರಡು ಉದ್ದರಣ ಚಿನ್ಹೆಗಳಿಂದ ಸುತ್ತುಗಟ್ಟಿದರೆ ಅದು ವೆರಿಯಬಲ್ಗಳ ಮೌಲ್ಯಗಳನ್ನು ಅಂಗೀಕರಿಸುತ್ತದೆ. ಅದರ ಹೆಸರುಗಳು ತಂತುಗಳ ಮೇಲೆ ಕಾಣಿಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯದ ಹೆಸರನ್ನು ತಂತುವಿನಲ್ಲಿ (ಅಥವಾ ಪ್ರಕ್ಷೇಪಿಸು ತ್ತದೆ) ಬದಲಾಯಿಸುತ್ತದೆ. ತಂತುವನ್ನು ಒಂದು ಉದ್ದರಣ ಚಿನ್ಹೆಯಿಂದ ಸುತ್ತುಗಟ್ಟಿದರೆ ಅದು ಅನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯ ಪ್ರಕ್ಷೇಪಣೆಯನ್ನು ತಡೆಗಟ್ಟುತ್ತದೆ. ಒಂದು ವೇಳೆ $ಹೆಸರು "ಜಿಮ್" ಎಂದಿದ್ದರೆ ("ಮೈ ನೇಮ್ ಇಸ್ $ನೇಮ್") "ಮೈ ನೇಮ್ ಇಸ್ ಜಿಮ್", ಎಂದು ಮುದ್ರಿಸುತ್ತದೆ. ಆದರೆ ('ಮೈ ನೇಮ್ ಇಸ್ $ನೇಮ್') ಎಂದಿದ್ದರೆ "ಮೈ ನೇಮ್ ಇಸ್ $ನೇಮ್" ಎಂದೇ ಮುದ್ರಿಸುತ್ತದೆ.
ಒಂದು ತಂತುವಿನಲ್ಲಿ ಎರಡು ಉದ್ದರಣ ಚಿನ್ಹೆಗಳನ್ನು ಸೇರಿಸಬೇಕಾದರೆ, ಅದಕ್ಕೆ ಪೂರ್ವಭಾವಿಯಾಗಿ ಒಂದು ಬ್ಯಾಕ್ಸ್ಲಾಶ್ ದಂಡ ಅಥವಾ ಒಂಟಿ ಚಿನ್ಹೆಯಿಂದ ತಂತುವನ್ನು ಸುತ್ತುಗಟ್ಟಬೇಕು. ಒಂಟಿ ಉದ್ದರಣ ಚಿನ್ಹೆಯನ್ನು ಸೇರಿಸಬೇಕಾದರೆ, ಅದಕ್ಕೆ ಪೂರ್ವಭಾವಿಯಾಗಿ ಒಂದು ಬ್ಯಾಕ್ ಸ್ಲಾಶ್ ದಂಡ ಅಥವಾ ಎರಡು ಉದ್ದರಣ ಚಿನ್ಹೆಯಿಂದ ತಂತುವನ್ನು ಸುತ್ತುಗಟ್ಟಬೇಕು. ತಂತುಗಳನ್ನು q ಮತ್ತು qq ಉದ್ದರಣ ಚಿನ್ಹೆಗಳಿಂದ ನಮೂದಿಸಬಹುದು-ನಿರ್ವಾಹಕರ ತರಹ. 'ದಿಸ್' ಎನ್ನುವುದು q(ದಿಸ್)ಗೆ ಸಮವಾಗಿದೆ. ಇಲ್ಲಿ "$ದಿಸ್" qq($ದಿಸ್)ಗೆ ಸಮವಾಗಿದೆ.
ಅಂತಿಮವಾಗಿ, ಮಲ್ಟಿಲೈನ್ ತಂತುಗಳನ್ನುಹಿಯರ್ ಡಾಕ್ಯುಮೆಂಟ್ಸ್ ಬಳಸಿ ವಿಷದಪಡಿಸಬಹುದು:
$multilined_string = <<EOF;
ಇದು ನನ್ನ ಮಲ್ಟಿಲೈನ್ದ್ ತಂತು
ಗಮನಿಸಿ ನಾನು "EOF" ಪದದ ಜೊತೆಗೆ ಸಮಾಪ್ತಗೊಳಿಸುತ್ತಿದ್ದೇನೆ.
EOF
ಸಂಖ್ಯೆಗಳಿಗೆ (ಸ್ಥಿರಾಂಕಗಳು) ಉದ್ದರಣಗಳ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ. ಪರ್ಲ್ ಸಂಖ್ಯೆಗಳನ್ನು ತಂತುಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಅಲ್ಲದೇ ಬಳಕೆಯಾದ ಸನ್ನಿವೇಶದ ಅವಲಂಬನೆಯ ಮೇಲೆಸಂದರ್ಭಕ್ಕೆ ತಕ್ಕಂತೆ ವಿಪರ್ಯಾಯಗೊಳಿಸುತ್ತದೆ. ತಂತುಗಳು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತನೆಗೊಂಡಾಗ, ತಂತುವಿನ ಸಂಖ್ಯೆಯಲ್ಲದ ಭಾಗಗಳ ಎಳೆದಾಟವನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ. ತಂತುವಿನ ಅಮುಖ್ಯ ಭಾಗವು ಸಂಖ್ಯೆಯಲ್ಲಿದ್ದರೆ, ತಂತುವು 0 ಸಂಖ್ಯೆಗೆ ಮಾರ್ಪಾಡಾಗುತ್ತದೆ. ಈ ಮುಂದಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ತಂತುಗಳು $n ಮತ್ತು $m ಗಳನ್ನು ಸಂಖ್ಯೆಗಳೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.
ಈ ಸಂಕೇತ ಸಂಖ್ಯೆ '5'ನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. ವೇರಿಯಬಲ್ಗಳ (ವ್ಯತ್ಯಾಸಗಳು) ಮೌಲ್ಯಗಳು ಹಾಗೆಯೇ ಉಳಿಯುತ್ತವೆ. ಪರ್ಲಿನಲ್ಲಿ ಗಮನಿಸಬೇಕಾದುದೆಂದರೆ, +
ಯಾವಾಗಲೂ ಸಂಖ್ಯಾ ಹೆಚ್ಚಳದ ನಿರ್ವಾಹಕ. ತಂತುವಿನ ಪೋಣಿಸುವಿಕೆಯ ನಿರ್ವಹಣೆ ಕಾಲದ್ದು.
$n = '3 apples';
$m = '2 oranges';
print $n + $m;
ಭಿನ್ನರಾಶಿ ಮೌಲ್ಯಗಳನ್ನು ಸಮಗ್ರ ಮೌಲ್ಯಗಳಾಗಿ ಪೂರ್ಣಾಂಕವಾಗಿ ಮಾಡುವ ಕ್ರಿಯೆಯನ್ನು ಒದಗಿಸಲಾಗಿದೆ: int
ಅಸಮಗ್ರ ಭಾಗವನ್ನು ತುಂಡರಿಸಿ, ಝೀರೋಗೆ ಸಮೀಪ ಪೂರ್ಣಾಂಕಗೊಳಿಸುತ್ತದೆ;
POSIX::ceil
ಮತ್ತು POSIX::floor
ಅನುಕ್ರಮವಾಗಿ ಇವು ಯಾವಾಗಲೂ ಮೇಲೆ ಮತ್ತು ಕೆಳಗೆ ಪೂರ್ಣಗೊಳ್ಳುತ್ತವೆ. ಸಂಖ್ಯೆಯಿಂದ ತಂತುವಿಗೆ ಪರಿವರ್ತನೆಯಾಗುವ printf "%f"
ಅಥವಾ sprintf "%f"
ಪೂರ್ಣ ಅಥವಾ ಸಮಾನ,ಬ್ಯಾಂಕರ್ಸ್ ಪೂರ್ಣಾಂಕವನ್ನು ಬಳಸುತ್ತವೆ.
ಪರ್ಲ್ ಒಂದು ಬೂಲಿಯನ್ ಭಾಷಾ ಪಠ್ಯವನ್ನು ಹೊಂದಿದೆ.ಇದನ್ನು ನಿಯಮಾಧೀನ ವರದಿಗಳ ಮಾಪನಕ್ಕೆ ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಕೆಳಕಂಡ ಎಲ್ಲ ಮೌಲ್ಯಗಳನ್ನು ಪರ್ಲ್ ನಲ್ಲಿ ದೋಷಪೂರಿತವೆಂದು ಮಾಪನ ಮಾಡಲಾಗಿದೆ:
$false = 0; # the number zero
$false = 0.0; # the number zero as a float
$false = 0b0; # the number zero in binary
$false = 0x0; # the number zero in hexadecimal
$false = '0'; # the string zero
$false = ""; # the empty string
$false = undef; # the return value from undef
$false = 2-3+1 # computes to 0 which is converted to "0" so it is false
ಎಲ್ಲ ಇತರ ಮಾಪನವಾದ ಮೌಲ್ಯಗಳು ನಿಜವಾಗಿದೆ. ಇದು ವಕ್ರವಾದ ಸ್ವ-ವಿವರಣೆ ನೀಡುವ ಅಕ್ಷರ ತಂತು "0 ಬಟ್ ಟ್ರೂ" ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ವಾಸ್ತವವಾಗಿ ಇದು ಒಂದು ಸಂಖ್ಯೆಯಾಗಿ 0 ಆಗಿದೆ, ಆದರೆ ಬೂಲಿಯನ್ ಆಗಿ ಬಳಸಿದರೆ ಇದು ನಿಜವಾಗುತ್ತದೆ. ಸಂಖ್ಯೆಯಲ್ಲದ ತಂತುಗಳಲ್ಲಿ ಕೂಡ ಈ ಗುಣಲಕ್ಷಣವಿದೆ, ಆದರೆ ಈ ನಿರ್ದಿಷ್ಟ ತಂತುವನ್ನು ಒಂದು ಸಂಖ್ಯಾತ್ಮಕ ಎಚ್ಚರಿಕೆ ನೀಡದೆ ಪರ್ಲ್ ಮೊಟಕುಗೊಳಿಸುತ್ತದೆ. ಒಂದು ಅಸ್ಪಷ್ಟ ಆದರೆ ತುಂಬಾ ಕಲ್ಪನಾತ್ಮಕವಾಗಿ ಒಯ್ಯುವ ಈ ತಂತುವಿನ ರೂಪಗಳೆಂದರೆ '0E0' ಅಥವಾ '0e0', ಇವುಗಳು ಚಿಹ್ನೆ 0 ಆಗಿ ಮಾಪನ ಮಾಡುವುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವುದಿಲ್ಲ, ಏಕೆಂದರೆ '0E0' ಅಕ್ಷರಶಃ ಸೊನ್ನೆಯಿಂದ ಆರಂಭಗೊಂಡು ಮತ್ತೆ ಸೊನ್ನೆಗೇ ಮರಳುತ್ತದೆ.
ಮಾಪನವಾದ ಬೂಲಿಯನ್ ನಿರೂಪಣೆಗಳೂ ಸಹ ಸ್ಕೆಲಾರ್ ಮೌಲ್ಯಗಳು. ದಾಖಲೆ ನೊಂದಾವಣೆ ಮಾಡಿದ್ದು ಯಾವ ನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯವು ಸರಿ ಅಥವಾ ತಪ್ಪಾಗಿ ವಾಪಸಾಗಿದ್ದರ ಬಗ್ಗೆ ವಿವರ ನೀಡುವುದಿಲ್ಲ. ಹಲವು ಬೂಲಿಯನ್ ನಿರ್ವಾಹಕರು 1ನ್ನು ಸರಿಯೆಂದು ಹಿಂದಿರುಗಿಸುತ್ತಾರೆ. ಅಲ್ಲದೇ ಶೂನ್ಯ-ತಂತು-ಸರಣಿಯನ್ನು ತಪ್ಪೆಂದು ಪರಿಗಣಿಸುತ್ತಾರೆ. ಕಾರ್ಯಾಚರಣೆಯ ವ್ಯಾಖ್ಯಾನ ದ ಕ್ರಿಯೆಯು ಒಂದು (ವ್ಯತ್ಯಾಸ) ವೇರಿಯಬಲ್ ಗೆ ಯಾವುದಾದರು ಮೌಲ್ಯ ನಿಗಧಿಯಾಗಿದೆಯೇ ಎಂಬುದರ ಬಗ್ಗೆ ನಿರ್ಧರಿಸುತ್ತದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಗಳಲ್ಲಿ, ಲಕ್ಷಣ ನಿರೂಪಣೆ($false) ಪ್ರತಿ ಮೌಲ್ಯಕ್ಕೆ ನಿಜವಾಗಿದೆ undef ನ ಹೊರತಾಗಿ.
1 ಅಥವಾ 0 ಎರಡರಲ್ಲಿ ನಿರ್ದಿಷ್ಟವಾಗಿ ಬೇಕಾದಲ್ಲಿ, ಒಂದು ಖಚಿತ ಪರಿವರ್ತನೆ ಮಾಡಲು ಸಾಧ್ಯ:
my $real_result = $boolean_result ? 1.0
ಅರ್ರೆಯ್ ಮೌಲ್ಯಗಳು
[ಬದಲಾಯಿಸಿ]ಒಂದು ಅರ್ರೆಯ್ ಮೌಲ್ಯವು (ಅಥವಾ ಪಟ್ಟಿ)ಅದರ ಅಂಶಗಳ ಪಟ್ಟಿಯ ಮೂಲಕ ಸೂಚಿತವಾಗುತ್ತದೆ, ಅಲ್ಪ-ವಿರಾಮದಿಂದ ಬೇರ್ಪಟ್ಟು, ಪ್ರಕ್ಷೇಪ ಚಿಹ್ನೆಗಳಿಂದ ಸುತ್ತುವರೆದಿರುತ್ತದೆ. (ಕಡೆಪಕ್ಷ ನಿರ್ವಹಣ ಪೂರ್ವಭಾವಿಯಾಗಿ ಎಲ್ಲಿ ಅವಶ್ಯಕವೋ ಅಲ್ಲಿ)
@scores = (32, 45, 16, 5);
qw()ಉದ್ದರಣ-ತರಹದ ನಿರ್ವಹಣೆಯು ಒಂದು ತಂತುಗಳ ಪಟ್ಟಿಯ ಲಕ್ಷಣಗಳನ್ನು ಉದ್ದರಣ ಚಿನ್ಹೆಗಳು ಮತ್ತು ಅಲ್ಪ-ವಿರಾಮದ ಚಿಹ್ನೆಗಳನ್ನು ಬೆರಳಚ್ಚು ಮಾಡದೆ ಅಂಗೀಕರಿಸುತ್ತದೆ. ಬಹುತೇಕ ಯಾವುದೇ ಡಿಲಿಮಿಟರ್ ಅನ್ನು ಪ್ರಕ್ಷೇಪ ಚಿಹ್ನೆಗೆ ಬದಲಾಗಿ ಬಳಸಬಹುದು. ಕೆಳಕೊಂಡ ವಾಕ್ಯಗಳು ಸಮಾನಾರ್ಥಕವಾಗಿವೆ:
@names = ('Billy', 'Joe', 'Jim-Bob');
@names = qw(Billy Joe Jim-Bob);
ಛೇದಿಸಲ್ಪಟ್ಟ ಕಾರ್ಯಚಟುವಟಿಕೆಯು ಒಂದು ತಂತುಗಳ ಪಟ್ಟಿಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಇವುಗಳು ಒಂದು ತಂತುವಿನ ನಿರೂಪಣೆಯಿಂದ ಒಂದು ಡಿಲಿಮಿಟರ್ ತಂತು ಅಥವಾ ನಿಯಮಿತ ನಿರೂಪಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಬೇರ್ಪಟ್ಟಿವೆ.
@scores = split(',', '32,45,16,5');
ಒಂದು ಪಟ್ಟಿಯ ಪ್ರತ್ಯೇಕ ಅಂಶಗಳಿಗೆ ಮಾರ್ಗವನ್ನು ಚೌಕಾಕಾರದ ಆವರಣ ಚಿಹ್ನೆಗಳಲ್ಲಿ ಒಂದು ಸಂಖ್ಯಾ ಅಭಿಸೂಚಕದ ಮೂಲಕ ಒದಗಿಸಿಕೊಡುತ್ತವೆ. (ಪರಿಮಾಣ) ಸ್ಕೆಲಾರ್ ಸಿಗಿಲ್ (ಅಂಶ)ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಬೇಕು. ಸಬ್ ಲಿಸ್ಟ್ಸ್(ಅರ್ರೆಯ್ ಅಂಶ)ದ ವ್ಯೂಹಗಳನ್ನೂ ನಮೂದಿಸಬಹುದು, ಒಂದು ಪಂಕ್ತಿ ಅಥವಾ ಸಂಖ್ಯಾ ಸೂಚಕಗಳ ಪಟ್ಟಿಯನ್ನು ಆವರಣ ಚಿನ್ಹೆಯಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಅರ್ರೆಯ್ ಸಿಗಿಲ್ ಅನ್ನು ಈ ಸಂದರ್ಭದಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಉದಾಹರಣೆಗೆ, $month[3] ಎಂದರೆ "ಮಾರ್ಚ್", ಮತ್ತು @month[4..6] ಎಂದರೆ ("ಏಪ್ರಿಲ್", "ಮೇ", "ಜೂನ್").
ಹ್ಯಾಷ್ ಮೌಲ್ಯಗಳು
[ಬದಲಾಯಿಸಿ]ಹ್ಯಾಷ್ (ಅಥವಾ ಅಸ್ಸೋಸಿಯೇಟಿವ್ ಅರ್ರೆಯ್) ಒಂದು ಕೀ/ಮೌಲ್ಯದ ಜೋಡಿಯಿಂದ ಪ್ರಾರಂಭಿಸಬಹುದು. ಕೀಗಳು ಮೌಲ್ಯದಿಂದ=>
ನಿರ್ವಹಣೆಯಲ್ಲಿ ಒಂದು ಅಲ್ಪ-ವಿರಾಮಕ್ಕೆ ಬದಲಾಗಿ ಬೇರ್ಪಡುತ್ತದೆ, ಅವುಗಳನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗುವುದಿಲ್ಲ (ಬೇಯರ್ ವರ್ಡ್ಸ್). ಕೆಳಗಿನ ವಾಕ್ಯಗಳು ಸಮಾನಾರ್ಥಕವಾಗಿವೆ:
%favorite = ('joe', "red", 'sam', "blue");
%favorite = (joe => 'red', sam => 'blue');
ಹ್ಯಾಷೆನಲ್ಲಿರುವ ಪ್ರತ್ಯೇಕ ಮೌಲ್ಯಗಳಿಗೆ ಸರಿಹೊಂದುವಂತಹ ಕೀಯನ್ನು ಸುರುಳಿಯಾದ ಬ್ರೇಸ್ ನಲ್ಲಿ ಒದಗಿಸುತ್ತದೆ. $
ಸಿಗಿಲ್ ಸಂಕಲಿತ ಅಂಶವನ್ನು ಒಂದು ಸ್ಕೆಲಾರ್ ಎಂದು ಗುರುತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, $favorite{joe} equals 'red' ಒಂದು ಹ್ಯಾಷ್ ಅನ್ನು ಅದರ ಪ್ರತ್ಯೇಕ ಮೌಲ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ ಚಾಲನೆ ನೀಡಿ ಪ್ರಾರಂಭಿಸಬಹುದು:
$favorite{joe} = 'red';
$favorite{sam} = 'blue';
$favorite{oscar} = 'green';
@ ಸಿಗಿಲ್ ಅನ್ನು ಬಳಸಿ ಹಲವಾರು ಅಂಶಗಳನ್ನು ಸಂಕಲಿಸಬಹುದು (ಒಂದು ಪಟ್ಟಿಯನ್ನು ಫಲಿತಾಂಶವೆಂದು ಗುರುತಿಸಬಹುದು). ಉದಾಹರಣೆಗೆ @favorite{'joe', 'sam'} equals ('red', 'blue').
ಟೈಪ್ಗ್ಲೊಬ್ ಮೌಲ್ಯಗಳು
[ಬದಲಾಯಿಸಿ]ಒಂದು ಟೈಪ್ಗ್ಲೊಬ್ ಮೌಲ್ಯವು ಸಾಂಖ್ಯೇತಿಕ ಕೋಷ್ಟಕದ ನಮೂದು. ಟೈಪ್ಗ್ಲೊಬ್ಗಳ ಮುಖ್ಯ ಬಳಕೆಯೆಂದರೆ ಸಾಂಖ್ಯೇತಿಕ ಕೋಷ್ಟಕದ ಪರ್ಯಾಯ ಸೃಷ್ಟಿಸುವುದು. ಉದಾಹರಣೆಗೆ
*PI = \3.141592653; # creating constant scalar $PI
*this = *that; # creating aliases for all data types 'this' to all data types 'that'
(ವ್ಯೂಹ ರಚನೆಯ)ಅರ್ರೆಯ್ ಕಾರ್ಯಗಳು
[ಬದಲಾಯಿಸಿ]ಒಂದು ಅರ್ರೆಯ್ಯಲ್ಲಿರುವ ಅಂಶಗಳ ಸಂಖ್ಯೆಯನ್ನು ಸ್ಕೆಲಾರ್ ಇರುವ ಪರಿಸ್ಥಿತಿಯ ಅರ್ರೆಯ ಮಾಪನದಿಂದ ಅಥವಾ $#
ಸಿಗಿಲ್ ನ ಸಹಾಯದಿಂದಲಾದರೂ ನಿರ್ಧರಿಸಬಹುದು. ಇದರ ಉತ್ತರ-ಭಾಗವು ಅರ್ರೆಯಲ್ಲಿನ ಅಂತಿಮ ಅಂಶದ ಬಗ್ಗೆ ಸೂಚ್ಯಂಕ ನೀಡುತ್ತದೆ, ಅಂಶಗಳ ಸಂಖ್ಯೆಯನ್ನು ನೀಡುವುದಿಲ್ಲ. ಸ್ಕೆಲಾರ್(@ಅರ್ರೆಯ್) ಮತ್ತು ($#ಅರ್ರೆಯ್ + 1)ನಿರೂಪಣೆಗಳು ಸಮನಾಗಿದೆ.
ಹ್ಯಾಷ್ ನ ಕಾರ್ಯವಿಧಾನಗಳು
[ಬದಲಾಯಿಸಿ]ಕೆಲವು ಕ್ರಿಯೆಗಳಲ್ಲಿ ಪೂರ್ತಿಯಾಗಿ ಹ್ಯಾಶಸ್ ಮೇಲೆಯೇ ಪೂರ್ಣ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಕೀಸ್ ಕಾರ್ಯವು ಒಂದು ಹ್ಯಾಷ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಅಲ್ಲದೇ ಅದಕ್ಕೆ ಕೀಗಳ ಪಟ್ಟಿಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಅದೇ ರೀತಿಯಾಗಿ, ಮೌಲ್ಯಗಳ ಕ್ರಿಯೆಯು ಒಂದು ಹ್ಯಾಷ್ ನ ಮೌಲ್ಯಗಳಿಗೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಇಲ್ಲಿ ಗಮನಿಸಬೇಕಾದ ಅಂಶವೆಂದರೆ ಕೀಸ್ ಮತ್ತು ಮೌಲ್ಯಗಳನ್ನು ಒಂದು ಸ್ಥಿರ ಆದರೆ ಅನಿಯಂತ್ರಿತ ಕ್ರಮದಲ್ಲಿ ಹಿಂದಿರುಗಿಸಲಾಗುತ್ತದೆ.
# Every call to each returns the next key/value pair.
# All values will be eventually returned, but their order
# cannot be predicted.
while (($name, $address) = each %addressbook) {
print "$name lives at $address\n";
}
# Similar to the above, but sorted alphabetically
foreach my $next_name (sort keys %addressbook) {
print "$next_name lives at $addressbook{$next_name}\n";
}
(ಕಂಟ್ರೋಲ್ ರಚನಾ-ಕ್ರಮ) -ನಿಯಂತ್ರಣದ ರಚನಾಕ್ರಮ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಹಲವಾರು ವಿಧದ ಕಂಟ್ರೋಲ್ ರಚನಾ-ಕ್ರಮಗಳನ್ನು ಹೊಂದಿದೆ.
ಇದು ಬ್ಲಾಕ್-ನಿರ್ಧಾರಿತ ಕಂಟ್ರೋಲ್ ರಚನಾ-ಕ್ರಮವನ್ನು ಹೊಂದಿದೆ; ಇದು C, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್, ಮತ್ತು ಜಾವಾ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ಹೋಲುತ್ತದೆ. ಪ್ರಕ್ಷೇಪ ಚಿಹ್ನೆ ನಿಯಮಗಳನ್ನು ಸುತ್ತುವರೆದಿವೆ, ಮತ್ತು ಬ್ರೆಸಸ್ಗಳು ಕಂಟ್ರೋಲ್ಲ್ಡ್ ಬ್ಲಾಕ್ಸ್ಗಳನ್ನೂ ಸುತ್ತುವರೆದಿವೆ:
label while ( cond ) { ... } label while ( cond ) { ... } continue { ... } label for ( init-expr ; cond-expr ; incr-expr ) { ... } label foreach var ( list ) { ... } label foreach var ( list ) { ... } continue { ... } if ( cond ) { ... } if ( cond ) { ... } else { ... } if ( cond ) { ... } elsif ( cond ) { ... } else { ... }
ಇಲ್ಲಿ ಒಂದೇ ಒಂದು ನಿರೂಪಣೆಯು ನಿಯಂತ್ರಿತವಾಗಿದೆ, ನಿರೂಪಣೆಯ ಪರಿವರ್ತಕರು ಒಂದು ಅತಿ-ಸಂಕ್ಷಿಪ್ತ ವಾಕ್ಯ ರಚನೆಯನ್ನು ಒದಗಿಸುತ್ತಾರೆ:
statement if cond ; statement unless cond ; statement while cond ; statement until cond ; statement foreach list ;
ಶಾರ್ಟ್-ಸರ್ಕ್ಯೂಟ್ ವ್ಯವಸ್ಥೆಯ ನಿರ್ವಾಹಕವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಕಂಟ್ರೋಲ್ ಹರಿವಿನ ಪ್ರವೃತ್ತಿಗೆ ಅನುಗುಣವಾಗಿ ನಿರೂಪಣಾ ಹಂತದಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ.
expr and expr expr && expr expr or expr expr || expr
("ಅಂಡ್" ಮತ್ತು "ಆರ್" ನಿರ್ವಾಹಕವು && ಮತ್ತು || ಗೆ ಸಮಾನರೂಪವಾಗಿದೆ. ಆದರೆ ಕೆಳಮಟ್ಟದ ಆದ್ಯತೆ ಹೊಂದಿವೆ, ಹೀಗಾಗಿ ಅವುಗಳಿಗೆ ಸಮಗ್ರ ನಿರೂಪಣೆಗಳನ್ನು ಹಿಡಿತದಲ್ಲಿಡಲು ಸುಲಭವಾಗಿದೆ.)
ಕಂಟ್ರೋಲ್ ಕೀವರ್ಡ್ಸ್ ಹರಿವು ನೆಕ್ಸ್ಟ್
( C ನ ಕಂಟಿನ್ಯೂ
ಗೆ ತಾಳೆಯಾಗುತ್ತದೆ.), ಲಾಸ್ಟ್
( C ನ ಬ್ರೇಕ್
ಗೆ ತಾಳೆಯಾಗುತ್ತದೆ), ರಿಟರ್ನ್
, ಮತ್ತುರೆಡೋ
ನಿರೂಪಣೆಗಳಾಗುತ್ತವೆ, ಹೀಗಾಗಿ ಅವುಗಳನ್ನು ಶಾರ್ಟ್-ಸರ್ಕ್ಯುಟ್ ನಿರ್ವಾಹಕಗಳೊಂದಿಗೆ ಬಳಸಬಹುದು.
ಪರ್ಲ್ ಎರಡು ಸೂಚ್ಯವಾದ ಆದೇಶಗಳ ಸರಣಿಯ ರಚನೆಗಳನ್ನು ಹೊಂದಿದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಎರಡು ರೂಪಗಳನ್ನು ಹೊಂದಿದೆ:
results = grep { ... } list results = grep expr , list results = map { ... } list results = map expr , list
ಗ್ರೆಪ್
ಲಿಸ್ಟ್ ನ ಎಲ್ಲ ಅಂಶಗಳನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಇದಕ್ಕೆ ಕಂಟ್ರೋಲ್ಲ್ಡ್ ಬ್ಲಾಕ್ ಅಥವಾ ನಿರೂಪಣೆಗಳು ನಿಜವೆಂದು ಮಾಪನ ಮಾಡುತ್ತವೆ.ನಕ್ಷೆ
ಯು ಕಂಟ್ರೋಲ್ಲ್ಡ್ ಬ್ಲಾಕ್ ಅಥವಾ ನಿರೂಪಣೆಯನ್ನು ಲಿಸ್ಟ್ ನ ಪ್ರತಿ ಅಂಶದಲ್ಲೂ ಮಾಪನ ಮಾಡುತ್ತದೆ. ಅಲ್ಲದೇ ಅದರಿಂದ ದೊರೆತ ಮೌಲ್ಯಗಳ ಪಟ್ಟಿಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಈ ರಚನೆಯು ಒಂದು ಸರಳ ಕಾರ್ಯಾಚರಣೆಯ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಶೈಲಿಗೆ ಸಾಧನವಾಗಿದೆ.
5.10.0ರ ಬಿಡುಗಡೆಯ ತನಕವೂ, ಪರ್ಲ್ 5ರಲ್ಲಿ ನಿರೂಪಣಾ ವಿನಿಮಯ ಇರಲಿಲ್ಲ. 5.10.0ರ ನಂತರ, ವಿವಿಧ ನಿರೂಪಣಾ ವಿಭಾಗಗಳು ಗಿವೆನ್
/ವೆನ್
ಎಂಬ ಹೆಸರಿನಿಂದ ಲಭ್ಯವಿವೆ. ಇದು ಈ ಕೆಳಗಿನ ರೂಪ ಪಡೆಯುತ್ತವೆ:
v5.10; #ನ ಬಳಕೆಯು ಹೊಸ 5.10 ಕಾರ್ಯನಿರ್ವಹಣೆಯಲ್ಲಿ ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿರಬೇಕು. given ( expr ) { when ( cond ) { ... } default { ... } }
ಪದಜೋಡನೆಯ ನಿಯಮಾನ್ವಯ, ಈ ರಚನಾ-ಕ್ರಮವು ಇತರ ಭಾಷೆಗಳಲ್ಲಿರುವಂತೆ ನಿರೂಪಣಾ ವಿನಿಮಯಕ್ಕೆ ಹೋಲುತ್ತದೆ; ಆದರೆ ಇಲ್ಲಿ ಕೆಲವು ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸಗಳಿವೆ. ಪ್ರಮುಖವಾದುದೆಂದರೆ ಸ್ವಿಚ್/ಕೇಸ್ ರಚನಾ-ಕ್ರಮದಲ್ಲಿ, ಗಿವೆನ್/ವೆನ್ ನಿರೂಪಣೆಗಳು ಮೊದಲ ಯಶಸ್ವಿ ವಿಭಾಗದ ನಂತರ ನಿರ್ವಹಣೆಯಲ್ಲಿ ಬಿರುಕು ಉಂಟಾದಾಗ, ಖಚಿತವಾಗಿ ನಿರೂಪಿಸಲ್ಪಟ್ಟ ಆದೇಶಕ್ಕಾಗಿ ಕಾಯುವುದಿಲ್ಲ. ಇದಕ್ಕೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, ಖಚಿತತೆಯ ಮುಂದುವರಿಕೆಯು (ವಿನಿಮಯ)ಸ್ವಿಚ್ ಕಾರ್ಯಕ್ಕೆ ಅತ್ಯವಶ್ಯಕವಾಗಿದೆ.
ಪರ್ಲ್ 5.10 ಬಳಸದವರಿಗಾಗಿ, ಪರ್ಲ್ ದಾಖಲೆ-ಸಂಗ್ರಹಣೆಯು ಒಂದು ಅರ್ಧ-ಡಜನ್ ಮಾರ್ಗಗಳ ಸಾಧನೆಗೆ ವಿವರಣೆಯ ನೆರವು ಒದಗಿಸುತ್ತದೆ. ಇತರ ಕಂಟ್ರೋಲ್ ರಚನಾ-ಕ್ರಮಗಳ ಬಳಸಿ ಸಮಾನ ಪರಿಣಾಮ ಪಡೆಯಬಹುದು. ಒಂದು ಸ್ವಿಚ್ ಮಾಡ್ಯೂಲ್ ಸಹ ಇದೆ, ಇದು ಮುಂಬರುವ ಪರ್ಲ್ 6ರ ಮರು-ವಿನ್ಯಾಸದ ಕಾರ್ಯನಿರ್ವಹಣಾ ಮಾದರಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದನ್ನು ಒಂದು ಸೋರ್ಸ್ ಫಿಲ್ಟರ್ ಅನ್ನು ಬಳಸಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ, ಹೀಗಾಗಿ ಇದರ ಬಳಕೆಗೆ ಹಲವೆಡೆ ಅನಧಿಕೃತ ವಿರೋಧವಿದೆ.[೪೯]
ಪರ್ಲ್ ಒಂದು ಗೊಟೊ ಲೇಬಲ್
ನಿರೂಪಣೆ ಹೊಂದಿದೆ; ಆದರೆ ಇದರ ಬಳಕೆ ವಿರಳ. . ಸಂದರ್ಭಾನುಸಾರ ಒಂದು ಗೊಟೊ
ಪರ್ಲ್ ನಲ್ಲಿ ದೊರಕುವಂತೆ ಇತರ ಭಾಷೆಗಳಲ್ಲಿ ಇದು ಪರಿಗಣಿತವಾಗುವುದಿಲ್ಲ. ಏಕೆಂದರೆ ಅದರಲ್ಲಿನ ಕಂಟ್ರೋಲ್ ಆಯ್ಕೆಯ ಪರಿಚಲನೆಯ ವಿಸ್ತಾರ ಅದನ್ನೊಳಗೊಂಡಿದೆ.
ಒಂದು ಗೊಟೊ &ಸಬ್
ನಿರೂಪಣೆ ಕೂಡ ಇದೆ. ಇದು ಒಂದು ಟೈಲ್ ಕಾಲ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಸಬ್ರುಟೀನ್ನನ್ನು ಅಂತ್ಯಗೊಳಿಸುತ್ತದೆ. ಅಲ್ಲದೇ ತತ್ ಕ್ಷಣವೇ ನಿರ್ದಿಷ್ಟವಾದ ಉಪನಿಯಮ ಸಬ್
ಅನ್ನು ಆಹ್ವಾನಿಸುತ್ತದೆ. ಇದನ್ನು ಒಬ್ಬ ಕಾಲರ್ ಮಾಹಿತಿ ಸಂಗ್ರಹಣಸ್ಥಾನದ ನಿರ್ವಹಣೆಯನ್ನು ಸ್ವತಃ ಪರ್ಲ್ ಗಿಂತ ಅತ್ಯಂತ ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ವಹಿಸುವ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.( ಏಕೆಂದರೆ ವಿಶೇಷವಾಗಿ ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಮಾಹಿತಿ ಸಂಗ್ರಹಣಕ್ಕೆ ಬದಲಾವಣೆ ಬೇಕಿಲ್ಲ); ಅಗಾಧ ಪುನರಾವರ್ತನ ಕ್ರಿಯೆಯಲ್ಲಿ, ಟೈಲ್ ಕಾಲಿಂಗ್ ವಾಸ್ತವವಾಗಿ ನಿರ್ವಹಣೆಯ ಮೇಲೆ ನಿಖರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಅದು ಹಿಂದಿರುಗಿ ಬರುವ ಹೆಚ್ಚುವರಿ ಸ್ಕೋಪ್/ಮಾಹಿತಿ ಸಂಗ್ರಹಣದ ಸ್ಥಾನದ ತಂಡದ ನಿರ್ವಹಣೆಯನ್ನು ತಡೆಗಟ್ಟುತ್ತದೆ.
ಸಬ್ರುಟಿನ್ಸ್ (ಮಾಮೂಲು ಕ್ರಮಗಳು)
[ಬದಲಾಯಿಸಿ]ಸಬ್ರುಟಿನ್ಗಳನ್ನು ಸಬ್
ಮುಖ್ಯ ಪದದ ಜೊತೆಯಲ್ಲಿ ವಿವರಿಸಲಾಗುತ್ತದೆ. ಇದನ್ನು ಸರಳವಾಗಿ ಹೆಸರಿಸುವುದರ ಮೂಲಕ ಆಹ್ವಾನಿಸಲಾಗುತ್ತದೆ.(ಕಾಂಪೂಟರ್ ಪ್ರೊಗ್ರಾಮಿನಲ್ಲಿ ಪದೇ ಪದೇ ಬಳಸಲಾಗುವ ಒಂದು ಸಾಮಾನ್ಯ ಕ್ರಮ) ಪ್ರಶ್ನಾರ್ಹ ವಿಷಯವಾದ ಸಬ್ರುಟೀನ್ನನ್ನು ಇನ್ನೂ ಪ್ರಕಟಪಡಿಸದಿದ್ದರೆ, ನಿರ್ದೇಶಿತ ಕಾರ್ಯನಿರ್ವಹಣ ಹೆಸರಿನ ನಂತರ ಪ್ರಕ್ಷೇಪ ಚಿಹ್ನೆ ಆಗಲಿ ಅಥವಾ ಮುಂಚಿತ ಎಂದು ಸೂಚಿಸುವ ಸಂಕೇತ & ವನ್ನಾಗಲಿ ಹೊಂದುವ ಅವಶ್ಯವಿದೆ. ಆದರೆ& ಸಂಕೇತವನ್ನು ಪ್ರಕ್ಷೇಪ ಚಿಹ್ನೆ ಇಲ್ಲದೆ ಬಳಸುವುದು ಕೂಡ ನಿಸ್ಸಂದೇಹವಾಗಿ ಚಾಲ್ತಿಯಲ್ಲಿರುವ (ಸಾಮಾನ್ಯ ಕ್ರಮಗ ಳು)ಸಬ್ರುಟೀನ್ಗಳಲ್ಲಿ ಚರ್ಚೆಗೆ ಒಳಪಡುತ್ತದೆ. ಇದು ಪ್ರಕ್ಷೇಪ ಚಿಹ್ನೆಯ ಜೊತೆಗೆ & ಸಂಕೇತದ ಬಳಕೆ ಮೂಲರೂಪವನ್ನು ಕಡೆಗಣಿಸುತ್ತದೆ.
# Calling a subroutine
# Parentheses are required here if the subroutine is defined later in the code
foo();
&foo; # (this also works, but has other consequences regarding arguments passed to the subroutine)
# Defining a subroutine
sub foo { ... }
foo; # Here parentheses are not required
ಸಬ್ರುಟೀನ್ ಹೆಸರಿನಲ್ಲಿ ಒಂದು ಚರ್ಚೆಗಳ ಪಟ್ಟಿಯೇ ಒದಗಿಸಬಹುದು. ಸ್ಕೆಲಾರ್ಸ್, ಲಿಸ್ಟ್ಸ್, ಅಥವಾ ಹ್ಯಾಷೆಸ್ ಚರ್ಚೆಗೆ ಒಳಪಡಬಹುದು.
foo $x, @y, %z;
ಒಂದು ಸಬ್ರುಟೀನಿನ ಲಕ್ಷಣವನ್ನು ಸಂಖ್ಯೆ ಅಥವಾ ಮಾದರಿಯಿಂದ ಪ್ರಕಟಿಸಬಾರದು; ವಾಸ್ತವವಾಗಿ, ಅವುಗಳಲ್ಲಿ ಒಂದು ಕರೆಯಿಂದ ಮತ್ತೊಂದು ಕರೆಗೆ ವ್ಯತ್ಯಾಸವಾಗಬಹುದು. ಗುಣಲಕ್ಷಣದ ಯಾವುದೇ ಸ್ಥಿರತೆಯನ್ನು ಸಬ್ರುಟೀನಿನ ಮಿತಿಯಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ವಹಿಸಬಹುದು.
ಅರ್ರೆಯ್ಗಳು ಅವುಗಳ ಅಂಶಗಳಿಗೆ ವಿಸ್ತರಿಸಿವೆ; ಹ್ಯಾಷ್ ಗಳು ಒಂದು ಕೀ/ಮೌಲ್ಯದ ಜೋಡಿಯ ಪಟ್ಟಿಗೆ ವಿಸ್ತರಿಸಿವೆ; ಇದು ಬಹಳಷ್ಟು ಸಬ್ರುಟೀನ್ಗಳಿಗೆ ಒಂದು ಸಮವಾದ ಸ್ಕೆಲಾರ ಪಟ್ಟಿಯಾಗಿ ರವಾನೆಯಾಗಿವೆ.
ಯಾವುದೇ ರವಾನೆಯಾದ ಚರ್ಚೆಗಳು ಸಬ್ರುಟೀನ್ಗೆ ವಿಶೇಷ ಅರ್ರೆಯ್ @_
ಆಗಿ ದೊರಕುತ್ತವೆ. @_
ಲ್ಲಿನ ಅಂಶಗಳು ಪ್ರಸ್ತುತ ಚರ್ಚೆಗೆ ಪರ್ಯಾಯವಾಗಿದೆ; @_
ಸಂಕೇತದ ಅಂಶವನ್ನು ಬದಲಾಯಿಸಿದರೆ ಅದಕ್ಕೆ ಅನುಗುಣವಾದ ಚರ್ಚೆಯೂ ಸಹ ಬದಲಾಗುತ್ತದೆ.
@_
ಸಂಕೇತದಲ್ಲಿನ ಅಂಶಗಳನ್ನು ಉಪಲೇಖವಾಗಿ ಅದರ ರೂಢಿಗತ ಮಾದರಿಯಲ್ಲಿ ಸಂಕಲಿಸಬಹುದು.
1.0
ಆದಾಗ್ಯೂ, ಅಲ್ಲಿ ಉಂಟಾದ ಕೋಡನ್ನು ಓದಲು ಕಷ್ಟವಾಗಬಹುದು,ಇದರಲ್ಲಿನ ಲಕ್ಷಣಗಳು ಉಲ್ಲೇಖ ಮೀರಿದ ಶಬ್ದಾರ್ಥ-ಶಾಸ್ತ್ರವಾಗುತ್ತದೆ, ಇದು ಆಕ್ಷೇಪಾರ್ಹವಾಗಬಹುದು.
ಒಂದು ಸಾಮಾನ್ಯ ಭಾಷಾವೈಶಿಷ್ಟ್ಯವೆಂದರೆ @_
ಸಂಕೇತವನ್ನು ಒಂದು ಹೆಸರುಳ್ಳ ಅನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯ ಪಟ್ಟಿಗೆ ವರ್ಗಾಯಿಸುವುದು.
my ($x, $y, $z) = @_;
ಇದು ಸ್ಮೃತಿವರ್ಧಕ ಲಕ್ಷಣದ ಹೆಸರುಗಳ ಮಾನದಂಡವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅಲ್ಲದೇ ಮೌಲ್ಯದ ಉಲ್ಲೇಖದ ಶಬ್ದಾರ್ಥ-ಶಾಸ್ತ್ರವನ್ನು ಸಜ್ಜುಗೊಳಿಸುತ್ತದೆ. ಮೈ
ಎಂಬ ಪ್ರಮುಖ ಸೂಚಿಪದವು ಅನುಗತವಾಗಿ ಬರುವ(ವ್ಯತ್ಯಾಸಗಳು) ವೆರಯಾಬಲ್ಗಳು ಕೋಶಾರ್ಥದ ಲಕ್ಷಣವಾಗಿ ಬ್ಲಾಕನ್ನು ಒಳಗೊಂಡಿರುವುದನ್ನು ಸೂಚಿಸುತ್ತದೆ.
ಇನ್ನೊಂದು ಭಾಷಾವಿಶಿಷ್ಟ @_
ಸಂಕೇತವನ್ನು ಲಕ್ಷಣಗಳಿಂದ ದೂರದ ಅಂತರಕ್ಕೆ ಬದಲಾವಣೆ ಮಾಡುವುದು. ಇದು ವಿಶೇಷವಾಗಿ ಸಬ್ರುಟೀನ್ ಒಂದೇ ಒಂದು ಚರ್ಚೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಅಥವಾ ಸ್ವ
ಚರ್ಚೆಯ ವಸ್ತು-ಆಧಾರಿತ ಮಾಡ್ಯೂಲ್ ಗಳ ನಿರ್ವಹಣೆಯಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿದೆ.
my $x = shift;
ಸಬ್ರುಟೀನ್ಗಳು@_
ಸಂಕೇತವನ್ನು ಒಂದು ಹ್ಯಾಷ್ ಗೆ ಹೆಸರಿಸಿದ ಚರ್ಚೆಗಳ ಉತ್ತೇಜನೆಗೆ ಅವಕಾಶ ಮಾಡಬಹುದು; ಇದನ್ನು ಪರ್ಲ್ ಬೆಸ್ಟ್ ಪ್ರಾಕ್ಟ್ಟಿಸೆಸ್ ನಲ್ಲಿ ಶಿಫಾರಸ್ಸು ಮಾಡಲಾಗಿದೆ. ಯಾವದೇ(ಪದೇ ಪದೇ ಉಪಯೋಗಿಸುವ ಕ್ರಮಗಳು) ಸಬ್ರುಟೀನ್ಗಳು ಮೂರರ ಮೇಲಿನ ಹೆಚ್ಚಿನ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿದವುಗಳಿಗೆ ಬಳಸಬಹುದು.[೫೦]
sub function1 {
my %args = @_;
print "'x' argument was '$args{x}'\n";
}
function1( x => 23 );
ಸಬ್ರುಟೀನ್ಗಳು ಮೌಲ್ಯಗಳನ್ನು ಹಿಂದುರಿಗಸಬಹುದು.
return 42, $x, @y, %z;
ಸಬ್ರುಟೀನ್ ಹಿಂತಿರುಗಿದ
ಆಧಾರದ ಮೂಲಕ ನಿರ್ಗಮನ ಹೊಂದಿದ್ದರೆ, ಅದು ಮಾಪನಗೊಂಡ ಅಂತಿಮ ನಿರೂಪಣೆಯನ್ನು ಸಬ್ರುಟೀನ್ ಸಂಗ್ರಹಕ್ಕೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ವಾಪಸಾದ ಮೌಲ್ಯದಲ್ಲಿ ಅರ್ರೆಯ್ ಮತ್ತು ಹ್ಯಾಷ್ ಗಳು ಸ್ಕೆಲಾರ್ಗಳ ಪಟ್ಟಿಗಳಾಗಿ ವಿಸ್ತಾರಗೊಂಡು, ಚರ್ಚೆಗಳಿಗಷ್ಟೇ ಸೀಮಿತಗೊಳ್ಳುತ್ತವೆ.
ಹಿಂದಿರುಗಿದ ನಿರೂಪಣೆಯೂ ಸಬ್ರುಟಿನಿನ ಕಾಲಿಂಗ್ ಸಂಧರ್ಭದಲ್ಲಿ ಮಾಪನಗೊಳ್ಳುತ್ತವೆ; ಇದು ಅಜಾಗರೂಕತೆಯನ್ನು ಆಕಸ್ಮಿಕಗೊಳಿಸುತ್ತದೆ.
sub list { (4, 5, 6) }
sub array { @x = (4, 5, 6); @x }
$x = list; # returns 6 - last element of list
$x = array; # returns 3 - number of elements in list
@x = list; # returns (4, 5, 6)
@x = array; # returns (4, 5, 6)
ಒಂದು ಸಬ್ರುಟೀನ್ ಅದರ ಕಾಲಿಂಗ್ ಸಂದರ್ಭವನ್ನು ವಾಂಟ್ಅರ್ರೆಯ್
ಕ್ರಿಯೆಯ ಮೂಲಕ ಪತ್ತೆ ಹಚ್ಚಬಹುದು.
sub either {
return wantarray ? (1, 2) : 'Oranges';
}
$x = either; # returns "Oranges"
@x = either; # returns (1, 2)
ಕ್ರಮಬದ್ಧ ನಿರೂಪಣೆಗಳು
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ಭಾಷೆಯು ಒಂದು ವಿಶೇಷ ವಾಕ್ಯರಚನೆ, ಕ್ರಮಬದ್ಧವಾದ ನಿರೂಪಣೆ (RE, ಅಥವಾ ರೆಗೆಕ್ಷೆಸ್ )ಗಳನ್ನು ಬರೆಯುವ ವಿಷಯ ಒಳಗೊಂಡಿದೆ.ಇದರ ವಿವರಣೆಯು ತಂತುಗಳನ್ನು ಕ್ರಮಬದ್ಧ ನಿರೂಪಣೆಗಳಿಗೆ ಹೋಲಿಸಲು ಒಂದು ಎಂಜಿನ್ ಕೂಡಾ ಹೊಂದಿದೆ. ಕ್ರಮಬದ್ಧ-ನಿರೂಪಣೆಯ ಇಂಜಿನ್ ಒಂದು ವಿಷಯ ಸಂಗ್ರಹಣಾ ಬ್ಯಾಕ್ಟ್ರಾಕಿಂಗ್ ಗಣನ ಪದ್ದತಿಯನ್ನು ಬಳಸುತ್ತದೆ.ಅದರ ಸಾಮರ್ಥ್ಯವನ್ನು ತಂತುವಿನ ಆಕ್ರಮಣಕ್ಕೆ ಹೋಲಿಕೆಯಾಗುವ ಸರಳ ಮಾದರಿ ಮತ್ತು ಪರ್ಯಾಯಕ್ಕೆ ವಿಸ್ತರಿಸುತ್ತದೆ. ಕ್ರಮಬದ್ದ-ನಿರೂಪಣ ಇಂಜಿನ್ಹೆನ್ರಿ ಸ್ಪೆನ್ಸೆರ್ ಬರೆದ ರೆಗೆಕ್ಸ್ನಿಂದ ಹುಟ್ಟಿಕೊಂಡಿದೆ.
ಪರ್ಲ್ ನ ಕ್ರಮಬದ್ದ-ನಿರೂಪಣಾ ವಾಕ್ಯರಚನೆಯನ್ನು ಮೂಲವಾಗಿ ಯುನಿಕ್ಸ್ ವರ್ಶನ್ 8ರ ನಿರೂಪಣೆಗಳಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಪರ್ಲ್ ನ ಮೊದಲ ಬಿಡುಗಡೆಗೆ ಮುಂಚೆಯೇ ಅದು ಬೇರ್ಪಟ್ಟಿತು. ಅದು ಅಲ್ಲಿಂದ ಅಭಿವೃದ್ಧಿ ಹೊಂದುತ್ತಾ ಹಲವು ವೈಶಿಷ್ಟ್ಯತೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಹಲವು ಇತರ ಭಾಷೆಗಳು ಮತ್ತು ಬಳಕೆಗಳು ಈಗ ಪರ್ಲ್ ಗೆ ಹೊಂದುವ ಕ್ರಮಬದ್ದ-ನಿರೂಪಣೆ ಗಳನ್ನುPOSIX ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಗಳಿಗೆ ಪ್ರತಿಯಾಗಿ ಅಳವಡಿಸಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ. ಉದಾಹರಣೆಗೆ PHP, Ruby, Java, ಮೈಕ್ರೋ ಸಾಫ್ಟ್ನ .NET Framework[೫೧], ಮತ್ತು ದಿ Apache HTTP ಸರ್ವರ್.
ಕ್ರಮಬದ್ದ-ನಿರೂಪಣೆಯ ವಾಕ್ಯರಚನೆಯು ಅದರ ಹಿನ್ನಲೆಯ ಇತಿಹಾಸದ ಕಾರಣದಿಂದ ಬಹಳ ಸಂಕ್ಷಿಪ್ತವಾಗಿದೆ. ಮೊದಲ ಕ್ರಮಬದ್ದ-ನಿರೂಪಣಾ ನುಡಿಗಟ್ಟುಗಳು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಗ್ಲೋಬ್ಸ್ ಗಳಿಗಿಂತ ಹೆಚ್ಚು ಅರ್ಥವತ್ತಾಗಿರುತ್ತವೆ. ಇದಲ್ಲದೇ ಒಂದು ನಿರೂಪಣೆಯೂ (ಪಠ್ಯ)ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಹೋಲುವ ರೀತಿಯಲ್ಲಿ ವಾಕ್ಯರಚನೆಯನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿರುತ್ತದೆ.[ಸಾಕ್ಷ್ಯಾಧಾರ ಬೇಕಾಗಿದೆ]
ಇಲ್ಲಿ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ವಿರಾಮ ಚಿಹ್ನೆ ಅಥವಾ ಒಂದು ಜೋಡಿಯ ಮೇರೆ ನಿರ್ಧಾರಿತ ವಿಶೇಷ ಮುದ್ರೆ, ಸಹಾಯಕ ಸಮರ್ಥನೆಗಳನ್ನು ವ್ಯಕ್ತಪಡಿಸಲು ಇಲ್ಲಿ ಬಳಸಬಾರದು.
ಇತ್ತೀಚಿನ ಕಾಲದವರೆಗೂ, ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಯ ಅಭಿವ್ಯಕ್ತತೆಯು ಮಹತ್ತರವಾಗಿ ಬೆಳೆದಿದೆ. ಆದರೆ ವಾಕ್ಯರಚನೆಯ ವಿನ್ಯಾಸವು ಎಂದೂ ಪರಿಷ್ಕರಣೆಯಾಗಿಲ್ಲ. ಅದು ವಿರಾಮ ಚಿಹ್ನೆಯ ಮೇಲೆ ಅವಲಂಬನೆಯನ್ನು ಮುಂದುವರೆಸಿದೆ. ಪರಿಣಾಮವಾಗಿ, ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಯು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಅತ್ಯಂತ ಸಾಂದ್ರಗೊಳ್ಳಬಹುದು.
ಬಳಕೆಗಳು(ಉಪಯೋಗಳು)
[ಬದಲಾಯಿಸಿ]m//
(ಹೊಂದಾಣಿಕೆ) ಕ್ರಿಯಾ ಚಿಹ್ನೆ ಒಂದು ಕ್ರಮಬದ್ದ-ನಿರೂಪಣಾ ಹೋಲಿಕೆಯನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ( ಇವುಗಳು ವಾರೆದಂಡಗಳಿಗೆ ಸೀಮಿತವಾಗಿದ್ದರೆ, ಇಲ್ಲಿ ಬರುವ ಎಲ್ಲ ಉದಾಹರಣೆಗಳಂತೆ, ಆಗ ಪ್ರಮುಖವಾಗಿರುವm
ಅನ್ನು ಸಂಕ್ಷಿಪ್ತತೆಗೋಸ್ಕರ ಬಿಟ್ಟುಬಿಡಬಹುದು. ಎಲ್ಲ ಮುಂಬರುವ ಉದಾಹರಣೆಗಳಲ್ಲಿ ಬರುವ m
ನ ಉಪಸ್ಥಿತಿ ಇದ್ದರೆ, ಇತರ ಡಿಲಿಮಿಟರ್ ಗಳನ್ನು ವಾರೆದಂಡಗಳ ಸ್ಥಾನದಲ್ಲಿ ಬಳಸಬಹುದು. ಸರಳ ನಿದರ್ಶನದಲ್ಲಿ, ಒಂದು ನಿರೂಪಣೆ ಉದಾಹರಣೆಗೆ
$x =~ /abc/;
evaluates to true if and only if the string $x
matches the regular expression abc
.
ಮಾಪನ ನಿಜವೆಂದುಏಕರೂಪವಾಗಿ ತಂತು $x
ಸಾಮಾನ್ಯ ನಿರೂಪಣೆ abc
ಯನ್ನು ಹೋಲುತ್ತದೆ.
s///
(ಪರ್ಯಾಯ) ಕ್ರಿಯಾಚಿಹ್ನೆಯು, ಇನ್ನೊಂದು ಕಡೆಯಲ್ಲಿ ಒಂದು ಹುಡುಕುವ-ಮತ್ತು-ಬದಲಿಸುವ ನಿರ್ವಹಣೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಮೂದಿಸುತ್ತದೆ:
$x =~ s/abc/aBc/; # upcase the b
ಇನ್ನೊಂದು ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಯ ಉಪಯೋಗವೆಂದರೆ ಬೇರ್ಪಟ್ಟ
ಕ್ರಿಯೆಯ ಡಿಲಿಮಿಟರ್ ಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಮೂದಿಸುವುದು:
@words = split /,/, $line;
ಬೇರ್ಪಟ್ಟ
ಕ್ರಿಯೆಯು ಒಂದು ತಂತುವಿನ ಭಾಗಗಳ ಪಟ್ಟಿಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ಇವುಗಳು ಕ್ರಮಬದ್ದ ನಿರೂಪಣಾ ಹೋಲಿಕೆಯಿಂದ ಬೇರೆಯಾಗಿರುತ್ತವೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಒಂದು ಗೆರೆಯನ್ನು ಒಂದು ಅಲ್ಪವಿರಾಮದಿಂದ-ಬೇರೆಯಾದ ಭಾಗಗಳ ಒಂದು ಪಟ್ಟಿಯಿಂದ ವಿಭಾಗಿಸಲಾಗುತ್ತದೆ. ಇಲ್ಲಿ ಈ ಪಟ್ಟಿಯನ್ನು ನಂತರದಲ್ಲಿ @words
ಅರ್ರೆಯ್ ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ.
ವಾಕ್ಯ ರಚನೆ
[ಬದಲಾಯಿಸಿ]ಪರಿವರ್ತಕಗಳು
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ನ ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಗಳನ್ನು ಪರಿವರ್ತಕ ಗಳೆಂದು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಇವುಗಳು ಏಕ-ಅಕ್ಷರದ ಅಂತ್ಯ ಪ್ರತ್ಯಯಗಳು ಇವು ನಿರೂಪಣೆಯ ಅರ್ಥವನ್ನು ಪರಿವರ್ತಿಸುತ್ತವೆ:
$x =~ /abc/i; # case-insensitive pattern match
$x =~ s/abc/aBc/g; # global search and replace
ಏಕೆಂದರೆ ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಯಲ್ಲಿ ವಾಕ್ಯರಚನೆಯ ಸಂಕ್ಷಿಪ್ತತೆಯು ಅವುಗಳನ್ನು ಸಾಂದ್ರ ಮತ್ತು ಕಿರಿದುಗೊಳಿಸುತ್ತದೆ. /x
ಪರಿವರ್ತಕವನ್ನು ಪ್ರೋಗ್ರಾಮರ್ಸ್ ಗೆ ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಯನ್ನು ಹೆಚ್ಚು ಸ್ಪುಟವಾಗಿ ಬರೆಯಲು ಸಹಾಯಕವಾಗಿ ಪರ್ಲ್ ಗೆ ಸೇರಿಸಲಾಯಿತು. ಇದು ಪ್ರೋಗ್ರಮರ್ಸ್ ಗೆ ಖಾಲಿ ಜಾಗ ಮತ್ತು ವಿಶ್ಲೇಷಣೆಗಳನ್ನು ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಗಳ ಒಳಗೆ ಇರಿಸಲು ಅನುವು ಮಾಡಿ ಕೊಡುತ್ತದೆ:
$x =~ /
a # match 'a'
. # followed by any character
c # then followed by the 'c'character
/x;
ಸೆರೆ ಹಿಡಿಯುವುದು
[ಬದಲಾಯಿಸಿ]ನಿಯಮಿತ ನಿರೂಪಣೆಯ ಭಾಗಗಳನ್ನು ಪ್ರಕ್ಷೇಪಣೆ ಚಿಹ್ನೆಯಿಂದ ಸುತ್ತುಗಟ್ಟಬಹುದು; ಒಂದು ಸರಣಿ ತಂತುವನ್ನು ಹೋಲುವ ಅದಕ್ಕೆ ಅನುಗುಣವಾದ ಭಾಗಗಳು ಇಲ್ಲಿ ಸೆರೆಯಾಗುತ್ತವೆ. ಸೆರೆಹಿಡಿದ ತಂತುಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಒಳಗೊಂಡಿರುವ ಅನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯಗಳು $1, $2, $3, ...
, ಅಲ್ಲದೇ ಸೆರೆಯಾದ ತಂತುಗಳ ಒಂದು ಪಟ್ಟಿಯನ್ನು ಮೌಲ್ಯದ ಹೋಲಿಕೆಯಾಗಿ ಹಿಂದಿರುಗಿಸಲಾಗುತ್ತದೆ.
$x =~ /a(.)c/; # capture the character between 'a' and 'c'
ಸೆರೆಹಿಡಿದ ತಂತುಗಳು $1, $2, $3,...
ಗಳನ್ನು ನಂತರದ ಸಂಕೇತದಲ್ಲಿ ಬಳಸಬಹುದು.
ಪರ್ಲ್ ನ ಕ್ರಮಬದ್ದ ನಿರೂಪಣೆಗಳು ಒಳಸೇರಿದ ಅಥವಾ ಬಳಕೆದಾರರಿಗೆ ಕಾರ್ಯಾಚರಣೆಯ ವ್ಯಾಖ್ಯಾನ ನೀಡಿದ ಹೋಲಿಕೆಗೆ ಬಳಸುವುದನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಇದಕ್ಕೆ /e
ಪರಿವರ್ತಕದ ಸಹಾಯವೂವ ಇರುತ್ತದೆ:
$x = "Oranges";
$x =~ s/(ge)/uc($1)/e; # OranGEs
$x .= $1; # append $x with the contents of the match in the previous statement: OranGEsge
ದತ್ತಾಂಶ ಸಂಗ್ರಹದ ಇಂಟರ್ಫೆಸ್ ಗಳು
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ದತ್ತಾಂಶ ಸಂಗ್ರಹದ ಬಳಕೆಯಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ನೆರವಾಗಿದೆ. ಅದರ ಪಠ್ಯ-ನಿರ್ವಹಣಾ ಸೌಲಭ್ಯವು SQL ಪ್ರಶ್ನೆಗಳನ್ನು ರಚಿಸಲು ಸಹಾಯಕವಾಗಿದೆ; ಅರ್ರೆಯ್ಸ್, ಹ್ಯಾಷ್ ಸ್, ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಸ್ಮರಣಾ(ಮೆಮೊರಿ) ನಿರ್ವಹಣೆಯು ಸಂಗ್ರಹಣೆ ಮತ್ತು ವಾಪಸಾದ ದತ್ತಾಂಶದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.
ಪರ್ಲ್ ನ ಮುಂಚಿನ ರೂಪಗಳಲ್ಲಿ, ದತ್ತಾಂಶ ಸಂಗ್ರಹದ (ಸಂಪರ್ಕಗಳನ್ನು)ಇಂಟರ್ಫೇಸಸ್ ಗಳನ್ನು ಒಂದು ಅವಲಂಬಿತ ದತ್ತಾಂಶ ಸಂಗ್ರಹಕ್ಕೆ ವಿವರಣೆಯನ್ನು ಮರುಜೋಡಿಸುವ ಮೂಲಕ ಸೃಷ್ಟಿಸಲಾಗಿದೆ. ಇದು ಸಾಕಷ್ಟು ತೊಂದರೆಗಳನ್ನು ಒಳಗೊಂಡಿತ್ತು. ಅಲ್ಲದೇ ಹಲವು ಪ್ರಮುಖ ಮತ್ತು ವ್ಯಾಪಕ ಬಳಕೆಯ ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಗೆ ಮಾತ್ರ ಸಿದ್ದಮಾಡಲಾಗಿತ್ತು. ಅದರ ಪರಿಣಾಮ ಇದು ಪರ್ಲ್
ಅನ್ನು ಒಂದು ಬಾರಿಗೆ ಒಂದೇ ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಯ ಇಂಟರ್ಫೆಸ್ ಅನ್ನು ಕಾರ್ಯರೂಪಕ್ಕೆ ತರಲು ಸೀಮಿತಗೊಳಿಸಿತು.
ಪರ್ಲ್ 5ರಲ್ಲಿ, ದತ್ತಾಂಶ ಸಂಗ್ರಹದ ಇಂಟರ್ಫೇಸಸ್ ಗಳನ್ನು ಪರ್ಲ್ DBI ಮಾಡ್ಯೂಲ್ ಗಳು ಕಾರ್ಯಗತಗೊಳಿಸಿವೆ. DBI (Database Interface) ಮಾಡ್ಯೂಲ್ ಗಳು ಒಂದು ಏಕೈಕ ಸ್ವತಂತ್ರ ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಯ ಇಂಟರ್ಫೆಸ್ ಅನ್ನು ಪರ್ಲ್ ಅನ್ವಯಗಳಿಗೆ ನೀಡುತ್ತದೆ. ಈ ನಡುವೆ DBD (Database Driver) ಮಾಡ್ಯೂಲ್ ಗಳು ಸುಮಾರು 50 ವಿವಿಧ ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಯ ಸಂಕಲನದ ವಿವರವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ; ಹಲವು ANSI SQL ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಗೆ DBD ಚಾಲಕಗಳಿವೆ.
DBI ದತ್ತಾಂಶ ಸಂಗ್ರಹದ ನಿರ್ವಹಣೆ ಮತ್ತು ಪ್ರಶ್ನೆಗಳಿಗೆ ಗೋಪ್ಯತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಬಹು ಮಟ್ಟಿಗೆ ದೀರ್ಘ-ಕಾಲದ ನಿರ್ವಹಣಾ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ mod ಪರ್ಲ್[೫೨], ಅಧಿಕ-ಗಾತ್ರದ ವ್ಯವಸ್ಥೆಗಳುಸ್ಲಾಶ್ ಡಾಟ್ ಎಫೆಕ್ಟ್ ನಲ್ಲಿರುವಂತೆ ಸ್ಪೈಕ್ ಗಳ ಹೊರೆ ವಿಮುಖಗೊಳಿಸಲು ಸಹಾಯಮಾಡುತ್ತವೆ.
ತುಲನಾತ್ಮಕ ಸಾಮರ್ಥ್ಯ
[ಬದಲಾಯಿಸಿ]ದಿ ಕಂಪ್ಯೂಟರ್ ಲಾಂಗ್ವೇಜ್ ಬೆಂಚ್ಮಾರ್ಕ್ಸ್ ಗೇಮ್ [೫೩] ಹಲವಾರು ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿರುವ ವಿಶಿಷ್ಟ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಸಮಸ್ಯೆಗಳ ಅನ್ವಯಗಳ ಸಾಮರ್ಥ್ಯಕ್ಕೆ ಹೋಲಿಸುತ್ತದೆ. ನಿರೂಪಿತ ಪರ್ಲ್ ಕಾರ್ಯರೂಪಗಳು ವಿಶೇಷವಾಗಿ ಅತ್ಯಧಿಕ ಸ್ಮರಣಶಕ್ತಿ-ಬಳಕೆಯ ದೃಷ್ಟಿಕೋನ ಮತ್ತು ಚಲನಾ ಪರಿಣಾಮದ ವೈವಿಧ್ಯತೆ ಹೊಂದಿದೆ. ಪರ್ಲ್ ನ ಸಾಮರ್ಥ್ಯವು ಬೆಂಚ್ ಮಾರ್ಕ್ಸ್ ಗೇಮ್ ನಲ್ಲಿ ವಿವರಣಾತ್ಮಕ ಭಾಷೆಗಳಿಗೆ ವಿಶಿಷ್ಟವಾಗಿದೆ.
ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ಸಂಕಲಿತ ಭಾಷೆಗಳಲ್ಲಿರುವ ಸಮಾನ ಪ್ರೊಗ್ರಾಮ್ ಗಳಿಗಿಂತ ನಿಧಾನವಾಗಿ ಶುರುವಾಗುತ್ತವೆ. ಏಕೆಂದರೆ ಪರ್ಲ್ ಚಲನೆಯಲ್ಲಿ ಪ್ರತಿ ಬಾರಿಯೂ ಮೂಲವನ್ನು ಸಂಕಲಿಸಬೇಕಾಗುತ್ತದೆ. YAPC::Europe 2005 ಸಮಾಲೋಚನಾ ವಿವರದಲ್ಲಿ ಮತ್ತು ನಂತರದ ಲೇಖನ ಏ ಟೈಮ್ಲಿ ಸ್ಟಾರ್ಟ್ ನಲ್ಲಿ, ಜೀನ್-ಲುಯಿಸ್ ಲೆರೋಯ್ ಕಂಡುಕೊಂಡಂತೆ ಅವರ ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ಗಳು ಚಲನೆಗೆ ಅವರು ಅಂದುಕೊಂಡದ್ದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಂಡಿತು. ಏಕೆಂದರೆ ಪರ್ಲ್ ವಿವರಕನು ತಾನು ಅತಿ-ವಿಸ್ತಾರದ ದಾರಿಯಿಂದ ಹೆಚ್ಚು ಸಮಯವನ್ನು ಮಾಡ್ಯೂಲ್ ಗಳನ್ನು ಹುಡುಕುವುದರಲ್ಲೇ ಕಳೆದನು.[೫೪] ಜಾವಾ, ಪೈಥಾನ್, ಮತ್ತು ರುಬಿ ಗಳಂತೆ, ಪರ್ಲ್ ಪೂರ್ವ-ಸಂಕಲನಕ್ಕೆ ಮಾತ್ರ ಪ್ರಾಯೋಗಿಕ ಸಹಾಯ ಒದಗಿಸಿದೆ.[೫೫] ಹೀಗಾಗಿ ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ಗಳು ಈ ಹೆಚ್ಚುವರಿ ದಂಡವನ್ನು ಪ್ರತಿ ಕಾರ್ಯರೂಪದಲ್ಲಿಯೂ ತೆರುತ್ತಿದೆ. ವಿಶಿಷ್ಟ ಪ್ರೊಗ್ರಾಮ್ ನಲ್ಲಿರುವ ಚಲನಾ ಘಟ್ಟವು ಸಾಕಷ್ಟು ದೀರ್ಘವಾಗಿದೆ. ಇದರಿಂದ ವಜಾಗೊಂಡ ಶುರುವಿನ ಸಮಯ ಅಷ್ಟು ಮಹತ್ವವಾಗಿಲ್ಲ, ಆದರೆ ಬೆಂಚ್ಮಾರ್ಕ್ಸ್ ನಲ್ಲಿರುವ ಪರಿಣಾಮಗಳು ಜಾರಿಗೆ ಬಂದ ಓರೆಯಾಗಿರಬಹುದಾದ ಸಣ್ಣ ಸಮಯವನ್ನೂ ಮಾಪನ ಮಾಡುತ್ತದೆ.
ಈ ಪರಿಸ್ಥಿತಿ ಸುಧಾರಣೆಗೆ ಹಲವಾರು ಸಾಧನಗಳನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ. ಈ ನಿಟ್ಟಿನಲ್ಲಿ ಬಂದ ಮೊದಲ ಸಾಧನವೇ ಅಪಾಚೆ'ಸ್ mod ಪರ್ಲ್, ಇದು ಸಣ್ಣ ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ಗಳು ಶೀಘ್ರವಾಗಿ ಆಹ್ವಾನಿಸುವ ಒಂದು ಸಾಮಾನ್ಯ ಕಾರಣಗಳನ್ನು ಶೋಧಿಸುತ್ತದೆ: CGI ವೆಬ್ ಅಭಿವೃದ್ದಿ. ಮೈಕ್ರೋ ಸಾಫ್ಟ್ ISAPI ಮೂಲಕ Activeಪರ್ಲ್ , ಸಮಾನ-ಸಮರ್ಥ ಸುಧಾರಣೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಪರ್ಲ್ ಸಂಕೇತವು ಒಂದು ಬಾರಿ ಸಂಕಲನವಾದೊಡನೆ, ಅಲ್ಲಿ ಹೆಚ್ಚುವರಿ ವೆಚ್ಚವು ಕಾರ್ಯರೂಪದ ಘಟ್ಟದಲ್ಲಿ ತಲುಪುತ್ತದೆ. ಇದು ಸಂಕಲನ ಭಾಷೆ, ಉದಾಹರಣೆಗೆ C or C++ ನಲ್ಲಿ ಬರೆದಿರುವ ಪ್ರೊಗ್ರಾಮ್ ಗಳಲ್ಲಿ ಸಾಂಖ್ಯೇತಿಕವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವದಿಲ್ಲ. ಈ ತರಹದ ಹೆಚ್ಚುವರಿ ವೆಚ್ಚವು ಉದಾಹರಣೆಗೆಬೈಟ್ ಕೋಡ್ ವಿವರಣೆಯಲ್ಲಿ ಸೇರಿದೆ, ಮಾಹಿತಿ-ಗಣನೆ ಸ್ಮೃತಿ ನಿರ್ವಹಣೆ ಮತ್ತು ಸಕ್ರಿಯ ಮಾದರಿ ಪರಿಶೀಲನೆ.
ಪ್ರಯೋಜನಗಳು(ಉಪಯುಕ್ತತೆಯನ್ನು ಪ್ರಶಸ್ತಗೊಳಿಸುವುದು)
[ಬದಲಾಯಿಸಿ]ಯಾವುದೇ ಸಂಕೇತದ ತರಹ, ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ಗಳನ್ನು ಬೆಂಚ್ ಮಾರ್ಕ್ಗಳು ಮತ್ತುರೇಖಾ ನಕ್ಷೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದು ಓದಲು ಯೋಗ್ಯ ಮತ್ತು ಸೂಕ್ತ ಕ್ರಮದ ನಂತರ ನಿರ್ವಹಣೆಗೆ ಹೊಂದಿಸಬಹುದು. ಪರ್ಲ್ ನ ವಿವರಣಾ ಸ್ವಭಾವದಿಂದ, ಪರ್ಲ್ ನ ಅತ್ಯಂತ-ಸಮರ್ಥ ಬರವಣಿಗೆಯು ಪ್ರೊಗ್ರಾಮ್ ಗೆ ಒಬ್ಬರ ನಿರ್ವಹಣಾ ಗುರಿಯನ್ನು ಸಾಕಷ್ಟು ತಲುಪುವುದಿಲ್ಲ.
ಇಂತಹ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ, ಅತ್ಯಂತ-ಕ್ಲಿಷ್ಟಕರ ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ನ ಅನುಕ್ರಮವನ್ನು ಅದನ್ನು ಇತರ ಭಾಷೆಗಳಾದ C ಅಥವಾ ಸಂಯೋಜಕ ದಲ್ಲಿ ಬರೆಯಬಹುದು, ಇದನ್ನು ಪರ್ಲ್ ಗೆ ಸರಳ ಇನ್ಲೈನ್ ಮಾಡ್ಯೂಲ್ ಗಳ ಅಥವಾ ಅತ್ಯಂತ-ಸಂಕೀರ್ಣ-ಆದರೂ-ಹೊಂದಿಕೊಳ್ಳುವXS ಪ್ರಕ್ರಿಯೆಗೆ ಅಳವಡಿಸಿಕೊಳ್ಳಬಹುದು.[೫೬] ನಿಕೋಲಾಸ್ ಕ್ಲಾರ್ಕ್, ಒಬ್ಬ ಪರ್ಲ್ ಕೋರ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದಾತ, ಪರ್ಲ್ ವಿನ್ಯಾಸದ ರಾಜಿ-ಸೂತ್ರಗಳು ಮತ್ತು ಪರ್ಲ್ ಸಾಕಷ್ಟು ನಿಧಾನಗೊಂಡಾಗ ಕೆಲವು ಪರಿಹಾರಗಳನ್ನು ಅವರು ಚರ್ಚಿಸುತ್ತಾರೆ.[೫೭]
ಕೆಲವೊಂದು ವಿಪರೀತ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ, ಪರ್ಲ್ ನಿಂದ ಪಡೆಯಬಹುದಾದ ಅನುಕೂಲಗಳಿಗೆ ಗಣಿತದ ಕೌಶಲ್ಯಕ್ಕಿಂತ, ಪರ್ಲ್ ಭಾಷೆಗಿಂತ, ಅಥವಾ ಅನುಕೂಲಗಳ ಸಾಮಾನ್ಯ ತತ್ವಗಳಿಗಿಂತ ವಿವರಕನ ಕೆಲಸದ ರೀತಿಯು ಆಳವಾದ ಜ್ಞಾನ ಹೊಂದಿರಬೇಕಾದ ಅವಶ್ಯವಿದೆ.[ಸಾಕ್ಷ್ಯಾಧಾರ ಬೇಕಾಗಿದೆ]
ಭವಿಷ್ಯ
[ಬದಲಾಯಿಸಿ]ಕಳೆದ 2000ರ ಪರ್ಲ್ ಕಾನ್ಫೆರೆನ್ಸ್ನಲ್ಲಿ ಜೋನ್ಒರ್ವಾಂಟ್ ಒಂದು ಪ್ರಧಾನ ಹೊಸ ಭಾಷೆಯ ಉಪಕ್ರಮದ ಬಗ್ಗೆ ದಾಖಲೆ ಮಾಡಿದರು.[೫೮] ಇದು ಭಾಷೆಗೆ ಒಂದು ಮರುವಿನ್ಯಾಸ ಕೊಡುವ ನಿಟ್ಟಿನಲ್ಲಿ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭ ಮಾಡುವ ಬಗ್ಗೆ ನಿರ್ಧಾರ ತೆಗೆದುಕೊಳ್ಳಲಾಯಿತು, ಇದಕ್ಕೆ ಪರ್ಲ್ 6 ಎಂದು ಹೆಸರಿಸಲಾಯಿತು. ಹೊಸ ಭಾಷಾ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಪ್ರಸ್ತಾಪಗಳನ್ನು ಪರ್ಲ್ ಸಮುದಾಯದಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಯಿತು, ಇಲ್ಲಿ 300 ಹೆಚ್ಚು RFCಗಳನ್ನು ಸಲ್ಲಿಸಲಾಯಿತು. ಸ್ಪಷ್ಟತೆ ದೃಷ್ಟಿಯಿಂದ: ಪರ್ಲ್6 ಮತ್ತು ಪರ್ಲ್5 ಬೇರೆ ಬೇರೆ ಭಾಷಾ ನಿಯಮವಾದರೂ, ಒಂದು ಸಮಾನ ಪರಂಪರೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ.
ಲಾರಿ ವಾಲ್ ಮುಂದಿನ ಕೆಲವು ವರ್ಷಗಳನ್ನು RFCಗಳನ್ನು ಕ್ರಮಕ್ಕೆ ತರುವಲ್ಲೇ ಕಳೆದರು. ಅದನ್ನು ಪರ್ಲ್ 6ಗೆ ಒಂದು ಸರಿಹೊಂದುವ ಚೌಕಟ್ಟಾಗಿ ಸಂಯೋಜಿಸಿದರು. ಅವರು ಪರ್ಲ್ 6ರಿನ ತಮ್ಮ ವಿನ್ಯಾಸವನ್ನು "ಅಪೋಕ್ಯಾಲ್ಯ್ಪ್ಸೆಸ್" ಎಂಬ ದಾಖಲೆಗಳ ಒಂದು ಸರಣಿಯಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಿದರು, ಅವುಗಳು ಅಧ್ಯಾಯಗಳ ಗುರುತಿಗೆ ಪ್ರೋಗ್ರಾಮ್ಮಿಂಗ್ ಪರ್ಲ್ (ದಿ ಕ್ಯಾಮೆಲ್ ಬುಕ್")ನಲ್ಲಿ ಹೊಂದಿಕೆಯಾಗುತ್ತವೆ. ಪ್ರಸ್ತುತ, ಅಪೂರ್ಣಗೊಂಡ ಪರ್ಲ್ 6ರಿನ ನಮೂನೆಗಳು ವಿನ್ಯಾಸಗೊಂಡ ದಾಖಲೆಗಳಾಗಿ ಸಿನೋಪ್ಸಸ್ ಎಂಬ ಹೆಸರಿನಿಂದ ಅಡಕವಾಗಿ ನಿರೂಪಿತವಾಗಿದೆ. ಅವುಗಳು ಅಪೋಕ್ಯಾಲ್ಯ್ಪ್ಸೆಸ್ ಗಳ ಗುರುತಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತವೆ.
ಪರ್ಲ್ 6ರಲ್ಲಿ ಸಂಗತವಾಗುವ ಮಾರ್ಗವಿದ್ದರೂ ಸಹ, ವಿಮುಖವಾಗಿ ಹೊಂದಿಕೆ ಮಾಡಲು ಉದ್ದೇಶಿಸಿರಲಿಲ್ಲ.
ಬ್ರಾಡ್ಲೆ M. ಕುಹ್ನ್ರ ಪ್ರಮೇಯವನ್ನು ಲಾರಿ ವಾಲ್ ಪರಿಶೀಲಿಸಿ, ಜಾವಾ ವರ್ಚುಯಲ್ ಮೆಷಿನ್ ಅನ್ನು ಪರ್ಲ್ ನ ಚಲನಾ ಅವಧಿಯಾಗಿ ಬಳಕೆ ಮಾಡಿಕೊಳ್ಳಬಹುದಾದ ಸಾಧ್ಯತೆಯನ್ನು ಪರಿಗಣಿಸುತ್ತಾರೆ.[೫೯] ಕುಹ್ನ್ ರ ಪ್ರಮೇಯವು ಈ ಮಾರ್ಗವನ್ನು ಸಮಸ್ಯಾತ್ಮಕವಾಗಿ ತೋರಿಸಿತು, ಅಲ್ಲದೇ 2001ರಲ್ಲಿ, ಪರ್ಲ್ 6 ಪ್ಯಾರೆಟ್ ಎಂಬ ಹೆಸರಿನ ಒಂದು ಅನೇರ ಭಾಷಾ ವೆರ್ಚುವಲ್ ಮೆಷಿನ್ನಿಂದ ಚಲಾಯಿಸಬಹುದೆಂದು ನಿರ್ಧರಿಸಲಾಯಿತು. ಇದರರ್ಥ ಪ್ಯಾರೆಟ್ ಅನ್ನು ಗುರಿಯಾಗಿರಿಸಿಕೊಂಡ ಇತರ ಭಾಷೆಗಳು ಸ್ವಾಭಾವಿಕ ಮಾರ್ಗವನ್ನುCPANಗೆ ವರ್ಗಾವಣೆ ಪಡೆಯುತ್ತವೆ. ಇದು ಸ್ವಲ್ಪ ಮಟ್ಟಿಗೆ ಮರುಕಳಿಕೆಯ-ಭಾಷಾ ಬೆಳವಣಿಗೆಯನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ.
2005ರಲ್ಲಿ, ಆಡ್ರೆಯ್ ಟಾಂಗ್ ಪಗ್ಸ್ ಯೋಜನೆಯನ್ನು ಸೃಷ್ಟಿಸಿದರು, ಇದು ಹಸ್ಕೆಲ್ ನಲ್ಲಿನ ಪರ್ಲ್ 6ರ ಕಾರ್ಯರೂಪ. ಇದು ಒಂದು ಪರ್ಲ್ 6 ಭಾಷೆಗೆ ಒಂದು ಪರೀಕ್ಷಾ-ಪ್ರಯೋಗ ವೇದಿಕೆಯಾಗಿ ತನ್ನ ಕ್ರಿಯೆ ಮುಂದುವರೆಸಿ( ವಾಸ್ತವದ ಕಾರ್ಯರೂಪದ ಬೆಳವಣಿಗೆಯಿಂದ ಬೇರೆಯಾಗಿದೆ) ಭಾಷಾ ವಿನ್ಯಾಸಕಾರರಿಗೆ ಹೊಸದನ್ನು ಪರಿಶೋಧಿಸಲು ಅನುವುಮಾಡಿಕೊಟ್ಟಿದೆ. ಪಗ್ಸ್ ಯೋಜನೆಯು ಒಂದು ಕ್ರಿಯಾಸಕ್ತ ಪರ್ಲ್/ಹಸ್ಕೆಲ್ ಅಡ್ಡ- ಪ್ರತಿರೂಪದ -ಭಾಷಾ ಸಮುದಾಯವನ್ನು ಹುಟ್ಟುಹಾಕಿತು ಇದುಫ್ರೀನೋಡ್ #ಪರ್ಲ್6 irc ವಾಹಿನಿಯ ಸುತ್ತ ಕೇಂದ್ರಿಕೃತವಾಗಿತ್ತು.
ಪರ್ಲ್ 6 ಭಾಷೆಯ ಅಸಂಖ್ಯಾತ ಲಕ್ಷಣಗಳು ಈಗ ಹಸ್ಕೆಲ್ ಗೆ ಸಮಾನ ರೂಪ ತೋರುತ್ತಿವೆ.
2009ರ ಪ್ರಾರಂಭದಲ್ಲಿ, ಪರ್ಲ್ 6 ಬೆಳವಣಿಗೆಯು ಪ್ರಾಥಮಿಕವಾಗಿ ರಾಕುಡೋ ಪರ್ಲ್ 6ರ ಸುತ್ತ ಕೇಂದ್ರಿಕರಿಸಿದೆ, ಈ ಕಾರ್ಯರೂಪವು ಪ್ಯಾರೆಟ್ ವೆರ್ಚುವಲ್ ಮಷಿನ್ ಗೂ ಮಿಗಿಲೆನ್ನುವಂತೆ ಅತ್ಯುತ್ತಮವಾಗಿ ಸಾಗುತ್ತಿದೆ. ಇನ್ನೊಂದು ಕಾರ್ಯರೂಪ, ಮಿಲ್ಡ್ಯೂ, ಕೂಡ ಸಕ್ರಿಯ ಬೆಳವಣಿಗೆಯ ಹಾದಿಯಲ್ಲಿದೆ. ಅದಲ್ಲದೇ ಅದರಲ್ಲಿ ಪ್ಯಾರೆಟ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ.
ಪರ್ಲ್ 5ರ ಅಭಿವೃದ್ಧಿ ಸಹ ಮುಂದುವರೆದಿದೆ. ಪರ್ಲ್ 5.10ನ್ನು ಡಿಸೆಂಬರ್ 2007ರಲ್ಲಿ ಬಿಡುಗಡೆಗೊಳಿಸಲಾಯಿತು, ಇದು ಪರ್ಲ್ 6ರ ವಿನ್ಯಾಸದ ಕೆಲವು ಹೊಸ ಗುಣಲಕ್ಷಣಗಳಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ.
ಪರ್ಲ್ ಸಮುದಾಯ
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ನ ಸಂಸ್ಕೃತಿ ಮತ್ತು ಸಮುದಾಯವು ಸ್ವತಃ ಭಾಷೆಯ ಬೆಳವಣಿಗೆಯ ಜೊತೆಜೊತೆಗೆ ಬೆಳೆದಿದೆ. ಯುಸ್ ನೆಟ್ ಎಂಬ ಸಾರ್ವಜನಿಕ ಸ್ಥಳದಲ್ಲಿ ಮೊದಲು ಪರ್ಲ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಯಿತು. ಆದರೆ ಅದರ ಬೆಳವಣಿಗೆಯ ಹಾದಿಯಲ್ಲಿ, ಪರ್ಲ್ ನ ಸಮುದಾಯವು ಅಂತರಜಾಲ-ಆಧಾರಿತ ಸೇವೆಗಳ ವ್ಯಾಪಕ ಬೆಳವಣಿಗೆಯಿಂದ ರೂಪಿತವಾಯಿತು. ಇದರಲ್ಲಿ ವರ್ಲ್ಡ್ ವೈಡ್ ವೆಬ್ ನ ಪ್ರವೇಶವೂ ಸೇರಿದೆ.
ಪರ್ಲ್ ನ ಸುತ್ತುವರಿದ ಸಮುದಾಯವು, ನಿಜವಾಗಿ, ಲಾರಿ ವಾಲ್ ರ ಮೊದಲ "ಸ್ಟೇಟ್ ಆಫ್ ದಿ ಆನಿಯನ್" ಚರ್ಚೆ ಎನಿಸಿದೆ.[೬೦]
ಸ್ಟೇಟ್ ಆಫ್ ದಿ ಆನಿಯನ್
[ಬದಲಾಯಿಸಿ]ಸ್ಟೇಟ್ ಆಫ್ ದಿ ಆನಿಯನ್ ಎಂಬುದು ಲಾರಿ ವಾಲ್ ರ ವಾರ್ಷಿಕ ಪ್ರಧಾನ-ಶೈಲಿಯ ಸಾರಾಂಶಗಳಲ್ಲಿ ಪರ್ಲ್ ನ ಮತ್ತು ಅದರ ಸಮುದಾಯದ ಸಾಮರ್ಥ್ಯ ಪ್ರಗತಿಗೆ ಇಟ್ಟ ಹೆಸರಾಗಿದೆ. ಅವುಗಳನ್ನು ತಮ್ಮ ವಿಶಿಷ್ಟ ರಂಜನೀಯಭಾಷೆಯ ಸಹಾಯದಿಂದ ನಿರೂಪಿಸುತ್ತಾರೆ, ಪರ್ಲ್ ನ ಸಂಸ್ಕೃತಿಗೆ ಮಾಹಿತಿಗಳ ಪ್ರಯೋಗಿಸುತ್ತಾರೆ, ವ್ಯಾಪಕ ಹಾಕರ್ ಸಂಸ್ಕೃತಿ, ವಾಲ್ ರ ಭಾಷಾದ್ಯಾಯನದ ಹಿನ್ನಲೆ, ಕೆಲವೊಂದು ಬಾರಿ ಅವರ ಸಾಂಸಾರಿಕ ಜೀವನ,ಮತ್ತು ಸಾಂಧರ್ಬಿಕವಾಗಿ ತಮ್ಮ ಕ್ರಿಶ್ಚಿಯನ್ ಹಿನ್ನಲೆಯನ್ನೂ ಸೇರಿಸುತ್ತಾರೆ.
ಪ್ರತಿ ಸಂಭಾಷಣೆಯನ್ನು ಹಲವಾರು ಪರ್ಲ್ ಸಮಾಲೋಚನೆಗಳಲ್ಲಿ ಮೊದಲು ನೀಡುತ್ತಾರೆ. ಅಂತಿಮವಾಗಿ ಆನ್ಲೈನ್ ನಲ್ಲಿ ಕೂಡ ಪ್ರಕಟಿಸುತ್ತಾರೆ.
ಕಾಲಕ್ಷೇಪಗಳು
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ ನ ಕಾಲಕ್ಷೇಪಗಳು ಸಮುದಾಯವನ್ನು ವಿವರಿಸುವ ಒಂದು ಅಂಶವಾಗಿವೆ.
ಅವುಗಳನ್ನು ಒಳಗೊಂಡವುಗಳೆಂದರೆ ಕಡಿಮೆ ವ್ಯಾಪಕತೆ ಮತ್ತು ಭಾಷೆಯಲ್ಲಿ ಬಳಕೆಯಾದ ಸಂಕೀರ್ಣತೆ.
==
[ಬದಲಾಯಿಸಿ]JAPHಗಳು ==== ಇಮೇಲ್, ಯುಸ್ ನೆಟ್, ಮತ್ತು ಸುದ್ದಿ-ಫಲಕದ ಅಂಚೆಗಳು " "ಕೇವಲ ಇನ್ನೊಂದು ಪರ್ಲ್ ಹಾಕರ್"(JAPH) ಪ್ರೋಗ್ರಾಮ್ಮ್ಗಳು ಒಂದು ಸಾಮಾನ್ಯ ಪ್ರವೃತ್ತಿಯಾಗಿದೆ, ಇದನ್ನು ರಾನ್ಡಲ್ L. ಸ್ಚ್ವರ್ತ್ಜ್ ಆರಂಭಿಸಿದರು, ಅವರು ಒಬ್ಬ ವೃತ್ತಿಪರ ಪರ್ಲ್ ತರಬೇತುದಾರರುಗಳಲ್ಲಿ ಮೊದಲಿಗರು.[೬೧]
ಪರ್ಲ್ ಸಂಸ್ಕೃತಿಯ ರೂಢಿಯಲ್ಲಿ, ಪರ್ಲ್ ಪ್ರೋಗ್ರಾಮ್ಮರ್ ಗಳು ಪರ್ಲ್ ಹಾಕೆರ್ಸ್ ಎಂದು ಗುರುತಿಸಲ್ಪಡುತ್ತಾರೆ. ಇದರಿಂದ ಸಣ್ಣ ಪ್ರೊಗ್ರಾಮ್ ಗಳ ಬರವಣಿಗೆಯ ರೂಢಿಯು "ಕೇವಲ ಇನ್ನೊಬ್ಬ ಪರ್ಲ್ ಹಾಕರ್," ಎಂಬ ನುಡಿಗಟ್ಟು ಹುಟ್ಟಿಕೊಳ್ಳುವುದಕ್ಕೆ ಕಾರಣವಾಯಿತು. ಮೂಲ ಕಲ್ಪನೆಯ ಸ್ಪೂರ್ತಿಗೆ, ಈ ಪ್ರೊಗ್ರಾಮ್ ಗಳು ಮಧ್ಯಮ ಮಟ್ಟದಲ್ಲಿ ತಬ್ಬಿಬ್ಬುಗೊಳಿಸುತ್ತವೆ ಅದೂ ಅಲ್ಲದೇ ಒಂದು ಇಮೇಲ್ ಅಥವಾ ಯುಸ್ ನೆಟ್ ಸಂದೇಶದ ಚಿಹ್ನೆಯಲ್ಲಿ ಸರಿ ಹೊಂದುವಷ್ಟು ಮಟ್ಟಿಗೆ ಸಣ್ಣದಾಗಿದೆ. "ಅಧಿಕೃತ" JAPH ಗಳು ಅಲ್ಪವಿರಾಮದ ಚಿಹ್ನೆಯನ್ನು ಕೊನೆಯಲ್ಲಿ ಹೊಂದಿರುತ್ತವೆ. ಹೀಗಿದ್ದರೂ ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಉಪೇಕ್ಷಿಸಲಾಗುತ್ತದೆ.
ಪರ್ಲ್ ಗಾಲ್ಫ್
[ಬದಲಾಯಿಸಿ]ಪರ್ಲ್ "ಗಾಲ್ಫ್" ವಿಶೇಷ ಚಿಹ್ನೆಗಳ (ಕೀ "ಸ್ಟ್ರೋಕ್ಸ್")ಸಂಖ್ಯೆಗಳನ್ನು ಕಡಿಮೆಗೊಳಿಸುವ ಕಾಲಕ್ಷೇಪವೆನಿಸಿದೆ. ಇದನ್ನು ಒಂದು ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮ್ ನಲ್ಲಿ ಅತ್ಯಲ್ಪ ಪ್ರಮಾಣದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಗಾಲ್ಫ್ ಆಟಗಾರರು ಒಂದು ಸುತ್ತಿನಲ್ಲಿ ಎಷ್ಟು ಸಾಧ್ಯವೋ ಅಷ್ಟು ಹೊಡೆತಗಳಿಗಾಗಿ ಯತ್ನಿಸುವ ರೀತಿಯನ್ನು ಹೋಲುತ್ತದೆ.(ಆದ್ದರಿಂದ ಈ ಪ್ರೊಗ್ರಾಮ್ ನ ವಿಷಯದಲ್ಲಿ ಇದರ ಬರಹ ರೂಢಿ ಮತ್ತು ನಿಯಮಗಳು ಗಾಲ್ಫ್ ಆಟದ ರೀತಿಯನ್ನು ಹೋಲುತ್ತಿರುವುದರಿಂದ ಈ ಶಬ್ದ ಬಳಕೆಯಾಗಿದೆ). ಗಾಲ್ಫ್ ಎನ್ನುವ ಪದದ ಬಳಕೆಯನ್ನು ಮೂಲತಃ ಯುಸ್ ನೆಟ್ ಪ್ರಕಟಣಾ ಪತ್ರಗಳು ಮತ್ತು ಇತರ ಸ್ಥಳಗಳಲ್ಲಿ ಬಳಕೆಯಾಗುವ JAPH ಗಳ ಚಿಹ್ನೆಗಳ ಮೇಲೆ ಕೇಂದ್ರಿಕೃತಗೊಳಿಸಲಾಗಿತ್ತು, ಆದರೂ ಇವು ಹಿಂದಿನ ದಶಮಾನದ APL ಭಾಷೆಯ ಅನಾಮಧೇಯ ಕಾಲಕ್ಷೇಪಗಳ ತಂತ್ರಗಳಾಗಿದ್ದವು. ಪರ್ಲ್ ಬಳಸಿಕೊಂಡು ಬರೆಯುವ ಒಂದು ಪ್ರೊಗ್ರಾಮ್ RSA ಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಒಂದು ವ್ಯಾಪಕ ಮತ್ತು ಕ್ರಿಯಾಶೀಲ ಆಸಕ್ತಿಯ ಕಾಲಕ್ಷೇಪವನ್ನು ಪ್ರೇರೇಪಿಸುತ್ತದೆ.[೬೨] ನಂತರದ ವರ್ಷಗಳಲ್ಲಿ, "ಕೋಡ್ ಗಾಲ್ಫ್" ಎಂಬ ಪದವನ್ನು ಇತರ ಭಾಷೆಗಳಲ್ಲಿನ ಕಾಲಕ್ಷೇಪಗಳಿಗಾಗಿ ಬಳಸಿಕೊಳ್ಳಲಾಗಿದೆ.[೬೩]
ಒಂದು ಪರ್ಲ್ ಗಾಲ್ಫ್ ಅಪೋಕ್ಯಾಲಿಪ್ಸ್ ವನ್ನು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾದಲ್ಲಿನ ಮೊಂಟೆರೆಯಲ್ಲಿ ಜುಲೈ 2000ದಲ್ಲಿ ನಡೆದ ಪರ್ಲ್ ಸಮಾಲೋಚನೆ 4.0 ರಲ್ಲಿ ಹಮ್ಮಿಕೊಳ್ಳಲಾಗಿತ್ತು.
ಜಟಿಲತೆ (ಅಸ್ಪಷ್ಟತೆ)
[ಬದಲಾಯಿಸಿ]C ನಲ್ಲಿರುವಂತೆ, ಜಟಿಲ ಸಂಕೇತದ ಪೈಪೋಟಿಗಳು ಇಸ್ಪೇಟು ಆಟಗಳಂತಹ ಕಾಲಕ್ಷೇಪದಲ್ಲಿ ಪ್ರಖ್ಯಾತವಾಗಿದೆ. ವಾರ್ಷಿಕ ಜಟಿಲ ಪರ್ಲ್ ಸ್ಪರ್ಧೆ ಯು ಪರ್ಲ್ ನ ವಾಕ್ಯರಚನಾ ನಮ್ಯತೆಗಳ ಪ್ರವೃತ್ತಿಯಲ್ಲಿ ಒಂದು ಪ್ರಮುಖ ಪ್ರಭಾವ ಬೀರಿತು.
ಕಾವ್ಯ(ದೃಶ್ಯ ರಚನಾ ವಿಧಾನ)
[ಬದಲಾಯಿಸಿ]ಜಟಿಲ ಅಥವಾ ಅಸ್ಫಷ್ಟ ಸಂಕೇತ ಮತ್ತು ಗಾಲ್ಫ್ ಗೆ ಸದೃಶವಾದ ಆದರೆ ವಿಭಿನ್ನ ಉದ್ದೇಶ ಹೊಂದಿದೆ. ಪರ್ಲ್ ನ ನುಡಿಗಟ್ಟೆಂದರೆ (ಕವಿತೆಯೆಂದರೆ) ಭಾಷಾ ವಿಷಯಗಳನ್ನು ಬರೆಯುವ ರೂಢಿ; ಇದನ್ನು ವಾಸ್ತವವಾಗಿ ಒಂದು ಕಾನೂನುಬದ್ದ ಪರ್ಲ್ ಸಂಕೇತಗಳ ಸಂಗ್ರಹವೆನಿಸಿದೆ. ( ಆದರೂ ಸಾಧಾರಣವಾಗಿ ಅಪ್ರಜ್ಞಾಪೂರ್ವಕವಾಗಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಒಂದು ವಿಭಾಗ ಬ್ಲಾಕ್ ಪರ್ಲ್ ಎಂದು ಪರಿಚಿತವಾಗಿದೆ). ಈ ಹವ್ಯಾಸವು ಹೆಚ್ಚು ಕಡಿಮೆ ಪರ್ಲ್ ಗೆ ಅನನ್ಯ ಏಕೆಂದರೆ ಭಾಷೆಯಲ್ಲಿ ದೊಡ್ಡ ಮಟ್ಟದಲ್ಲಿ ಬಳಕೆಯಾಗುವ ಸಾಮಾನ್ಯ ಇಂಗ್ಲಿಷ್ ಪದಗಳು. ಹೊಸ (ಹೊಸ ಭಾಷಾ ವಿಧಾನಗಳ ಬರಹ) ಕವಿತೆಗಳು ಕ್ರಮಬದ್ದವಾಗಿ ಪರ್ಲ್ ಮಾಂಕ್ಸ್ ಸೈಟ್ ನ ಪರ್ಲ್ ಕಾವ್ಯ ವಿಭಾಗದಲ್ಲಿ ಪ್ರಕಟಿತವಾಗುತ್ತವೆ.[೬೪]
IRC ಮೇಲೆ ಪರ್ಲ್
[ಬದಲಾಯಿಸಿ]IRC ಮೇಲಿರುವ ಜೋಡಿ ವಾಹಿನಿಗಳು ಪರ್ಲ್ ಭಾಷೆಗೆ ಮುಕ್ತ ನೆರವು ಮತ್ತು ಕೆಲವು ಮಾಡ್ಯೂಲ್ ಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.
IRC Network | Channels |
---|---|
irc.freenode.net | #perl , #cbstream , #perlcafe , #poe , #padre |
irc.perl.org | #moose , #poe , #catalyst , #dbix-class , #perl-help , #distzilla , #epo , #corehackers , #sdl |
irc.slashnet.org | #perlmonks |
irc.oftc.net | #perl |
irc.efnet.net | #perlhelp |
irc.rizon.net | perl |
CPAN ನ ಅಗ್ರತೆ
[ಬದಲಾಯಿಸಿ]ಹಲವು ಸಂಕೇತಗಳ ಉದಾಹರಣೆಗಳಲ್ಲಿ CPAN ಮೇಲೆ ಕೇವಲ ಮನೋರಂಜನೆಗೊಸ್ಕರವೇ ಬರೆಯಲಾಗಿದೆ. ಅಂದರೆ Lingua::Romana::perligata
, ಪ್ರೊಗ್ರಾಮ್ ಗಳನ್ನು ಲ್ಯಾಟಿನ್ ನಲ್ಲಿ ಬರೆಯಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ.[೬೫] ಇಂತಹ ಒಂದು ಪ್ರೊಗ್ರಾಮ್ ಅನ್ನು ಕಾರ್ಯರೂಪಕ್ಕೆ ತರುವಲ್ಲಿ, ಮಾಡ್ಯೂಲ್ ಗಳು ಅದರ ಆಧಾರದ ಸಂಕೇತಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಪರ್ಲ್ ಗೆ ಪರಿವರ್ತಿಸಿ ಚಾಲನೆಗೊಳಿಸುತ್ತವೆ.
ಪರ್ಲ್ ಸಮುದಾಯವು ಅಗ್ರತೆ ಎಂಬ ನೇಮ್ ಸ್ಪೇಸ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಸ್ವಾಭಾವಿಕ ಮೋಜುಗಳ ಮಾದರಿಯಲ್ಲಿ ಮಾಡ್ಯೂಲ್ ಗಳಿಗೆ ಮಾತ್ರವೆಂಬಂತೆ ನಿಗದಿಪಡಿಸಿದೆ.( ಆದರೆ ಅದರ ಗುರಿಯು ಪರಿಶೋಧನಾತ್ಮಕ ಅಥವಾ ಪ್ರಾಯೋಗಿಕ ಸಂಕೇತ ಒಳಗೊಂಡಿದೆ ಅಥವಾ ಉತ್ಪಾದನೆಗೆ ಬಳಸಿಕೊಳ್ಳದ ಇತರ ಯಾವುದೇ ಮಾಡ್ಯೂಲ್ ಗಳೊಂದಿಗೆ ವಿಸ್ತಾರಗೊಂಡಿದೆ). ಕೆಲವೊಂದು ಅಗ್ರ ಮಾಡ್ಯೂಲ್ ಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಮನೋರಂಜನಾ ವಿಧಾನಗಳಿಂದಲೇ ಅಳವಡಿಸಲಾಗಿದೆ. ಇದು Acme::Bleach
ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು Acme::
ನೇಮ್ ಸ್ಪೇಸ್[೬೬] ನಲ್ಲಿ ಮೊದಲ ಮಾಡ್ಯೂಲ್, ಇದು ಪ್ರೊಗ್ರಾಮ್ ನ ಆಧಾರ ಸಂಕೇತಗಳನ್ನು ಸ್ವಚ್ಚವಾಗಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ ( ಅದೆಂದರೆ, ಎಲ್ಲ ಚಿಹ್ನೆಗಳನ್ನು ವೈಟ್ ಸ್ಪೇಸ್ ನಿಂದ ಬದಲಾಯಿಸುವುದು) ಆದಾಗ್ಯೂ ಇದು ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ.
ಇದನ್ನೂ ಗಮನಿಸಿ
[ಬದಲಾಯಿಸಿ]- ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳ ತುಲನೆ
- ಕೇವಲ ಇನ್ನೊಂದು ಪರ್ಲ್ ಹ್ಯಾಕರ್
- ಪರ್ಲ್ ದತ್ತಾಂಶ ಭಾಷೆ
- ಪರ್ಲ್ ಮಾಹಿತಿ ನಿರ್ವಹಣೆಯ ಪರಿಸ್ಥಿತಿ
- ಪರ್ಲ್ ಲಿಪಿ
- ಸರಳವಾದ ಹಳೆಯ ದಾಖಲಾತಿ
ಆಕರಗಳು
[ಬದಲಾಯಿಸಿ]- ↑ "ವಾಟ್ ಇಸ್ ಪರ್ಲ್?". Archived from the original on 2009-01-30. Retrieved 2010-06-10.
- ↑ ಬಿಗಿನರ್'ಸ್ ಇಂಟ್ರೋಡಕ್ಶನ್ ಟು ಪರ್ಲ್
- ↑ Ashton, Elaine (1999). "The Timeline of Perl and its Culture (v3.0_0505)".
- ↑ Wall, Larry, Tom Christiansen and Jon Orwant (2000). Programming Perl, Third Edition. O'Reilly. ISBN 0-596-00027-8.
{{cite book}}
: Unknown parameter|month=
ignored (help)CS1 maint: multiple names: authors list (link) - ↑ Sheppard, Doug (2000-10-16). "Beginner's Introduction to Perl". O'Reilly Media. Retrieved 2008-07-27.
- ↑ ೬.೦ ೬.೧ "Larry Wall". Archived from the original on 2006-03-12. Retrieved 2006-08-20.
- ↑ "Perl, a "replacement" for awk and sed". Retrieved 2007-12-18.
- ↑ ಪರ್ಲ್5-ಪೋರ್ಟರ್ಸ್ ಅರ್ಚಿವ್
- ↑ http://perldoc.perl.org/perlhist.html
- ↑ http://perldoc.perl.org/perl5004delta.html
- ↑ http://perldoc.perl.org/perl5005delta.html
- ↑ http://perldoc.perl.org/perl561delta.html
- ↑ http://perldoc.perl.org/perl56delta.html
- ↑ "ಆರ್ಕೈವ್ ನಕಲು". Archived from the original on 2010-11-23. Retrieved 2010-06-10.
- ↑ perldelta: what is new for perl 5.10.0
- ↑ "Smart matching in detail". Archived from the original on 2010-02-18. Retrieved 2010-06-10.
- ↑ Perl 5.11.3 announcement
- ↑ ಉಲ್ಲೇಖ ದೋಷ: Invalid
<ref>
tag; no text was provided for refs namedcapitalisation
- ↑ Schwartz, Randal. "PERL as shibboleth and the Perl community". Retrieved 2007-06-01.
- ↑ Wall, Larry. "Larry Wall". Retrieved 2008-10-02.
- ↑ ಸ್ಟೀವ್ Mcಕಾನ್ನೆಲ್ (2004)ಕೋಡ್ ಕಂಪ್ಲೀಟ್ , ಎರಡನೇ ಆವೃತ್ತಿ., ಮೈಕ್ರೋಸಾಫ್ಟ್ ಪ್ರೆಸ್, ಪುಟ. 65.
- ↑ Wall, Larry. "BUGS". perl(1) man page. Retrieved 2006-10-13.
- ↑ Wall, Larry. "Re^7: PERL as shibboleth and the Perl community". Retrieved 2007-01-03.
- ↑ ಓ' ರೆಲ್ಲಿ- ದಿ ಪರ್ಲ್ ಕ್ಯಾಮೆಲ್ ಯುಸೆಜ್ ಮತ್ತು ಟ್ರೇಡ್ಮಾರ್ಕ್ ಇನ್ಫಾರ್ಮೆಶನ್
- ↑ Index of /images/perl
- ↑ "ಪರ್ಲ್ ಸಂಕೇತ, ಬಳಕೆ ಲೋಗೊಸ್, ಪರ್ಲ್ ಚಿಹ್ನೆಗಳು ಮತ್ತು ಹೆಚ್ಚು". Archived from the original on 2011-05-03. Retrieved 2010-06-10.
- ↑ perlintro(1)man page
- ↑ ಯುಸ್ ನೆಟ್ ಪೋಸ್ಟ್, ಮೇ 10 1997, 199705101952 ID ಯ ಜೊತೆಗೆ. MAA00756@wall.org.
- ↑ "The Importance of Perl". O'Reilly & Associates, Inc. 1998.
As Hassan Schroeder, Sun's first webmaster, remarked: "Perl is the duct tape of the Internet."
{{cite web}}
: Unknown parameter|month=
ignored (help) - ↑ ನೋಡಿ ಪರ್ಲ್ 6 ಸ್ಪಷ್ಟನೆ
- ↑ ಪರ್ಲ್ 6 ಕಾರ್ಯಯೋಜನೆಗಳು
- ↑ "IMDb Helpdesk: What software/hardware are you using to run the site?". Retrieved 2007-09-01.
- ↑ ಪರ್ಲ್ ಜೊತೆಗಿನ ಡಾಟಾ ಮುಂಗಿನ್
- ↑ ಪರ್ಲ್ 5ರ ವಿವರಕದ ವರ್ಣನೆಯನ್ನು ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಪರ್ಲ್ , ಮೂರನೇ ಆವೃತ್ತಿ, ಅಧ್ಯಾಯ 18 ರಲ್ಲಿ ಕಾಣಬಹುದು. ವಿಶೇಷವಾಗಿ ಪುಟ 467ನ್ನು ನೋಡಿದರೆ, ಅದರಲ್ಲಿ ಚಲನಾ ಘಟ್ಟ ಮತ್ತು ಸಂಕಲನಾ ಘಟ್ಟವನ್ನು ಚಲನಾ ಅವಧಿ ಮತ್ತು ಸಂಕಲನಾ ಅವಧಿಯಿಂದ ಜಾಗರೂಕವಾಗಿ ವಿಭಜಿಸುತ್ತದೆ. ಪರ್ಲ್ "ಅವಧಿ" ಮತ್ತು "ಘಟ್ಟ"ವನ್ನು ಅನೇಕ ವೇಳೆ ತಪ್ಪಾಗಿ ಗ್ರಹಿಸಲಾಗುತ್ತದೆ.
- ↑ Schwartz, Randal. "On Parsing Perl". Retrieved 2007-01-03.
- ↑ ಉಲ್ಲೇಖವನ್ನು ಇದರಿಂದKennedy, Adam (2006). "PPI—Parse, Analyze and Manipulate Perl (without perl)". CPAN. Archived from the original on 2010-02-23. Retrieved 2010-06-10.
- ↑ "Rice's Theorem". The Perl Review. 4 (3): 23–29. Summer 2008. ಮತ್ತು "Perl is Undecidable". The Perl Review. 5 (0): 7–11. Fall 2008., ಇದು ಆನ್ ಲೈನ್ ನಲ್ಲಿ ದೊರಕುತ್ತದೆ Kegler, Jeffrey. "Perl and Undecidability".
- ↑ "Perl 5.11.0 delta". Archived from the original on 2010-02-18. Retrieved 2010-06-10.
- ↑ Hietaniemi, Jarkko (1998). "Perl Ports (Binary Distributions)". CPAN.org.
- ↑ "The MacPerl Pages". Prime Time Freeware. 1997.
- ↑ CPAN/ports
- ↑ "Win32 Distributions". Win32 Perl Wiki.
- ↑ Golden, David (2006). "Activestate and Scalar-List-Utils".
- ↑ Kennedy, Adam (2007). "ActivePerl PPM repository design flaw goes critical". Archived from the original on 2009-12-01. Retrieved 2010-06-10.
- ↑ ಸ್ಟ್ರಾಬೆರ್ರಿ ಪರ್ಲ್ ವೆಬ್ ಸೈಟ್
- ↑ win32.perl.org/
- ↑ ವನಿಲ್ಲಾ ಪರ್ಲ್ ವೆಬ್ ಸೈಟ್
- ↑ "perlrun manpage".
- ↑ ಸ್ವಿಚ್ ಗಳ ಬಳಕೆ
- ↑ ಡಾಮಿಯನ್ ಕಾನ್ವೆ, ಪರ್ಲ್ ಬೆಸ್ಟ್ ಪ್ರಾಕ್ಟಿಸಸ್ , ಪುಟ.182
- ↑ ಮೈಕ್ರೋ ಸಾಫ್ಟ್ ಕಾರ್ಪ್.,".NET ಫ್ರೇಮ್ ವರ್ಕ್ ರೆಗುಲರ್ ಎಕ್ಸ್ಪ್ರೆಶನ್ಸ್", .NET ಫ್ರೇಮ್ ವರ್ಕ್ ಡೆವೆಲೋಪರ್'ಸ್ ಗೈಡ್ ,[೧]
- ↑ Bekman, Stas. "Efficient Work with Databases under mod_perl". Retrieved 2007-09-01.
- ↑ "ಬಾಕ್ಸ್ ಪ್ಲಾಟ್ ಸಾರಾಂಶ | ದಿ ಕಂಪ್ಯೂಟರ್ ಲಾಂಗ್ವೇಜ್ ಬೆಂಚ್ ಮಾರ್ಕ್ಸ್ ಗೇಮ್". Archived from the original on 2010-07-06. Retrieved 2021-08-10.
- ↑ Leroy, Jean-Louis (2005-12-01). "A Timely Start". Perl.com.
- ↑ Beattie, Malcolm and Enache Adrian (2003). "B::Bytecode Perl compiler's bytecode backend". search.cpan.org. Archived from the original on 2010-02-20. Retrieved 2010-06-10.
- ↑ http://search.cpan.org/perldoc/Inline/
- ↑ "ಯಾವಾಗ ಪರ್ಲ್ ಸಾಕಷ್ಟು ವೇಗವಾಗಿರುವುದಿಲ್ಲವೋ ಆಗ". Archived from the original on 2006-08-08. Retrieved 2010-06-10.
- ↑ ಲಾರಿಯವರ ಭಾಷಣದ ಪ್ರತಿಲಿಪಿ. 2006 ಸೆಪ್ಟೆಂಬರ್ 28 ರಂದು ಪುನಃ ಸಂಪಾದಿಸಲಾಯಿತು.
- ↑ Kuhn, Bradley (January 2001). "Considerations on Porting Perl to the Java Virtual Machine". University of Cincinnati. Retrieved 2008-06-28.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Wall, Larry (1997-08-20). "Perl Culture (AKA the first State of the Onion)". Archived from the original on 2004-08-05. Retrieved 2010-06-10.
- ↑ Randal L. Schwartz (1999-05-02). "Who is Just another Perl hacker?". comp.lang.perl.misc. Web link. Retrieved 2007-11-12.
- ↑ ಅಲ್ಪಾರ್ಥಕ ಸಾಮಗ್ರಿಗಳ ಪ್ರೊಗ್ರಾಮ್ ನ ಶೋದನೆ.
- ↑ "Code Golf: What is Code Golf?". 29degrees. 2007. Archived from the original on 2012-01-13. Retrieved 2010-06-10.
- ↑ ಪರ್ಲ್ ಮಾಂಕ್ಸ್ ಮೇಲಿನ ಪರ್ಲ್ ಕಾವ್ಯ ವಿಭಾಗ.
- ↑ Conway, Damian. "Lingua::Romana::Perligata -- Perl for the XXI-imum Century".
- ↑ Brocard, Leon (2001-05-23). "use Perl; Journal of acme". Archived from the original on 2011-05-11. Retrieved 2010-06-10.
ಹೆಚ್ಚಿನ ಓದಿಗೆ
[ಬದಲಾಯಿಸಿ]- ಲರ್ನಿಂಗ್ ಪರ್ಲ್ , ಐದನೇ ಆವೃತ್ತಿ ( ದಿ ಲ್ಲಾಮ ಬುಕ್ ),ISBN 0-596-52010-6
- ಪರ್ಲ್ ಕುಕ್ ಬುಕ್ , ISBN 0-596-00313-7
- ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಪರ್ಲ್ ( ದಿ ಕ್ಯಾಮೆಲ್ ಬುಕ್ ), ISBN 0-596-00027-8
- 1996–2006 ರಲ್ಲಿ ಪ್ರಕಟಗೊಂಡ ದಿ ಪರ್ಲ್ ಜರ್ನಲ್ ಇತ್ತೀಚಿನ ದಿನಗಳ ಪರ್ಲ್ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಅದರ ಬಗೆಗೆ ಇರುವ ಒಂದು ಪ್ರಮುಖ ಪ್ರಕಟಣೆ.
- ಹೈಯರ್ ಆರ್ಡರ್ ಪರ್ಲ್ , ISBN 1-558-60701-3
ಬಾಹ್ಯ ಕೊಂಡಿಗಳು
[ಬದಲಾಯಿಸಿ]- perl.org—ಅಧಿಕೃತ ಪರ್ಲ್ ವೆಬ್ ಸೈಟ್
- ಪರ್ಲ್ ದಾಖಲಾತಿ
- ಪರ್ಲ್ ಪ್ರತಿಷ್ಠಾನ
- ಅಧಿಕೃತ ಪರ್ಲ್ 5 ವಿಕಿ Archived 2008-07-23 ವೇಬ್ಯಾಕ್ ಮೆಷಿನ್ ನಲ್ಲಿ.
- Perl ಓಪನ್ ಡೈರೆಕ್ಟರಿ ಪ್ರಾಜೆಕ್ಟ್
- ದಿ ಐರನ್ ಮ್ಯಾನ್ ಕಾಂಟೆಸ್ಟ್ Archived 2010-08-12 ವೇಬ್ಯಾಕ್ ಮೆಷಿನ್ ನಲ್ಲಿ. ಹಲವು ಪರ್ಲ್ rss ಸಾಮಗ್ರಿಗಳನ್ನು ಒಟ್ಟಾಗಿಸಿ ಇಡಿ ಪರ್ಲ್ ಸಮುದಾಯವನ್ನು ಒಂದು ಮಾಹಿತಿ ಆಧಾರದಲ್ಲಿ ರೂಪಿಸುವುದು.
- Pages using deprecated source tags
- Pages with reference errors
- Pages using the JsonConfig extension
- CS1 errors: unsupported parameter
- CS1 maint: multiple names: authors list
- CS1 errors: missing periodical
- Articles with invalid date parameter in template
- All articles containing potentially dated statements
- Wikipedia articles needing style editing from December 2008
- All articles needing style editing
- Articles with hatnote templates targeting a nonexistent page
- ಉಲ್ಲೇಖಗಳ ಅಗತ್ಯ ಇರುವ ಲೇಖನಗಳು
- ವೆಬ್ ಆರ್ಕೈವ್ ಟೆಂಪ್ಲೇಟಿನ ವೇಬ್ಯಾಕ್ ಕೊಂಡಿಗಳು
- Articles with Open Directory Project links
- ಪರ್ಲ್
- ಸುರುಳಿಯಾಕಾರದ ಆವರಣ ಚಿಹ್ನೆಗಳ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು
- ಕ್ರಿಯಾಶಕ್ತ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು
- ಸಕ್ರಿಯ-ಮಾದರಿಯ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು
- ಮುಕ್ತ ಸಂಗ್ರಾಹಕಗಳು ಮತ್ತು ವಿವರಣೆಗಳು.
- C ನಲ್ಲಿ ಯೋಜಿಸಲಾದ ಮುಕ್ತ ಸಾಫ್ಟ್ ವೇರ್
- ಕಾರ್ಯವಿಧಾನದ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು
- ವಸ್ತು-ಆಧಾರಿತ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು
- ಲಿಪಿಕರಣ ಭಾಷೆ
- ವಿಷಯ-ಆಧಾರಿತ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು
- ಯುನಿಕ್ಸ್ ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಸಾಧನಗಳು
- ಅಡ್ಡ-ವೇದಿಕೆಯ ಸಾಫ್ಟ್ ವೇರ್
- ಅಮೆರಿಕನ್ ಆವಿಷ್ಕಾರಗಳು
- Pages using ISBN magic links