পার্লে,। Pm (পার্ল মডিউল) এবং .pl (পার্ল স্ক্রিপ্ট) ফাইলের মধ্যে পার্থক্য কী?


88

.pm(পার্ল মডিউল) এবং .pl(পার্ল স্ক্রিপ্ট) ফাইলের মধ্যে পার্থক্য কী ?

দয়া করে আমাকে বলুন কেন আমরা 1ফাইল থেকে ফিরে আসছি । যদি 2 বা অন্য কোনও কিছু ফেরত দেয় তবে এটি কোনও ত্রুটি উত্পন্ন করছে না, তবে কেন আমরা 1পার্ল মডিউল থেকে ফিরে আসব ?


11
1কোন ব্যাপার না. এটি হতে পারে 2, এটি হতে পারে "foo", এটি হতে পারে ["a", "list"]। গুরুত্বপূর্ণ বিষয়গুলি এটি নয় 0, বা অন্য কোনও কিছু যা মিথ্যা হিসাবে মূল্যায়ন করে বা useব্যর্থ হবে।
আমদান

.pl আসলে পার্ল গ্রন্থাগার - সি প্রোগ্রাম বা অন্যান্য ভাষায় লিখিত প্রোগ্রামগুলির মতো পার্ল স্ক্রিপ্টগুলির সমাপ্তি হয় না, অপারেটিং সিস্টেমগুলির জন্য যেমন উইন্ডোজগুলির মতো ফ্যান্টিওপেন করার প্রয়োজন হয়।
মনিকা মনে রাখবেন

উত্তর:


78

একেবারে মূল অংশে, আপনি যে ফাইল এক্সটেনশন ব্যবহার করেন তা কীভাবে কোনও পার্থক্য করে না 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 the 1;, 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হবে না, কোনও সত্য মানই করবে।


-2

এ .পিএল একটি একক লিপি।

। Pm ( পার্ল মডিউল ) এ আপনার ফাংশন রয়েছে যা আপনি অন্যান্য পার্ল স্ক্রিপ্ট থেকে ব্যবহার করতে পারেন:

পার্ল মডিউলটি পার্ল কোডের একটি স্ব-অন্তর্ভুক্ত অংশ যা পার্ল প্রোগ্রাম বা অন্যান্য পার্ল মডিউল দ্বারা ব্যবহার করা যেতে পারে। এটি সি লিংক লাইব্রেরি, বা একটি সি ++ শ্রেণীর মত ধারণাগত similar


4
"এ .পিএল একটি একক লিপি।" সত্য না. এটি কেবল ভাঙ্গা অপারেটিং সিস্টেমগুলিতেই আপনাকে একটি .pl এক্সটেনশন দিয়ে পার্ল প্রোগ্রামগুলি সনাক্ত করতে হবে। এবং মূলত .pl একটি "পার্ল লাইব্রেরি" নির্দেশ করেছে - বাহ্যিক সাবরুটাইনগুলি যা আপনি "প্রয়োজনীয়" বা "কর" কমান্ড দিয়ে লোড করেছেন।
ডেভ ক্রস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.