.pm(পার্ল মডিউল) এবং .pl(পার্ল স্ক্রিপ্ট) ফাইলের মধ্যে পার্থক্য কী ?
দয়া করে আমাকে বলুন কেন আমরা 1ফাইল থেকে ফিরে আসছি । যদি 2 বা অন্য কোনও কিছু ফেরত দেয় তবে এটি কোনও ত্রুটি উত্পন্ন করছে না, তবে কেন আমরা 1পার্ল মডিউল থেকে ফিরে আসব ?
.pm(পার্ল মডিউল) এবং .pl(পার্ল স্ক্রিপ্ট) ফাইলের মধ্যে পার্থক্য কী ?
দয়া করে আমাকে বলুন কেন আমরা 1ফাইল থেকে ফিরে আসছি । যদি 2 বা অন্য কোনও কিছু ফেরত দেয় তবে এটি কোনও ত্রুটি উত্পন্ন করছে না, তবে কেন আমরা 1পার্ল মডিউল থেকে ফিরে আসব ?
উত্তর:
একেবারে মূল অংশে, আপনি যে ফাইল এক্সটেনশন ব্যবহার করেন তা কীভাবে কোনও পার্থক্য করে না perl interprets those files.
However, putting modules in .pm files following a certain directory structure that follows the package name provides a convenience. So, if you have a module Example::Plot::FourD and you put it in a directory Example/Plot/FourD.pm in a path in your @INC, then use and require will do the right thing when given the package name as in use Example::Plot::FourD.
The file must return true as the last statement to indicate successful execution of any initialization code, so it's customary to end such a file with
1;unless you're sure it'll return true otherwise. But it's better just to put the1;, in case you add more statements.যদি
EXPRএকটি খালি শব্দ হয়,requireমানক মডিউলগুলি লোড করা সহজ করার জন্য আপনার জন্য ফাইলনেমটিতে "।" "এক্সটেনশন ধরে এবং" :: "এর পরিবর্তে" / "পরিবর্তন করে। মডিউলগুলি লোড করার এই ফর্মটি আপনার নাম স্থান পরিবর্তন করার ঝুঁকিপূর্ণ নয়।
সমস্ত useকিছুই হ'ল প্রদত্ত প্যাকেজটির নামটি ফাইলের নাম খুঁজে বের করতে requireহবে , এটি একটি BEGINব্লকে রয়েছে এবং importপ্যাকেজে অনুরোধ জানায়। আপনাকে useম্যানুয়ালি এই পদক্ষেপগুলি ব্যবহার না করা থেকে বিরত করার কিছুই নেই ।
উদাহরণস্বরূপ, নীচে আমি Example::Plot::FourDএকটি ফাইল বলা প্যাকেজটি রেখেছি t.pl, এটি ফাইলের স্ক্রিপ্টে লোড করেছি s.pl।
C:\Temp> cat t.pl
package Example::Plot::FourD;
use strict; use warnings;
sub new { bless {} => shift }
sub something { print "something\n" }
"Example::Plot::FourD"
C:\Temp> cat s.pl
#!/usr/bin/perl
use strict; use warnings;
BEGIN {
require 't.pl';
}
my $p = Example::Plot::FourD->new;
$p->something;
C:\Temp> s
something
এই উদাহরণটি দেখায় যে মডিউল ফাইলগুলি শেষ করতে 1হবে না, কোনও সত্য মানই করবে।
এ .পিএল একটি একক লিপি।
। Pm ( পার্ল মডিউল ) এ আপনার ফাংশন রয়েছে যা আপনি অন্যান্য পার্ল স্ক্রিপ্ট থেকে ব্যবহার করতে পারেন:
পার্ল মডিউলটি পার্ল কোডের একটি স্ব-অন্তর্ভুক্ত অংশ যা পার্ল প্রোগ্রাম বা অন্যান্য পার্ল মডিউল দ্বারা ব্যবহার করা যেতে পারে। এটি সি লিংক লাইব্রেরি, বা একটি সি ++ শ্রেণীর মত ধারণাগত similar
1কোন ব্যাপার না. এটি হতে পারে2, এটি হতে পারে"foo", এটি হতে পারে["a", "list"]। গুরুত্বপূর্ণ বিষয়গুলি এটি নয়0, বা অন্য কোনও কিছু যা মিথ্যা হিসাবে মূল্যায়ন করে বাuseব্যর্থ হবে।