আমি ইনস্টলিত সিপিএএন মডিউলগুলির তালিকা কীভাবে পাব?


90

চেষ্টা থেকে দূরে

perldoc <module name>

আমার অভিনব লাগে বা ফাইল সিস্টেমের মধ্য দিয়ে যাওয়া এবং ডিরেক্টরিগুলির দিকে তাকানো যে কোনও সিপিএএন মডিউলের জন্য স্বতন্ত্রভাবে আমি জানি না আমরা কোন মডিউলগুলি ইনস্টল করেছি।

প্রতিটি সিপিএএন মডিউল ইনস্টল থাকা কেবল একটি বড় তালিকা পাওয়ার সহজতম উপায় কী? কমান্ড লাইন থেকে বা অন্যথায়।


আমি পিএমটুলগুলি ব্যবহার করার পরামর্শ দিতে পারি , বিশেষত পিমনস্ট যা নিয়মিত প্রকাশগুলি গ্রহণ করে।
lukmdo


আপনি কি জানতে চান কোন মডিউল ইনস্টল করা আছে, বা কোন বিতরণ ইনস্টল করা আছে?
টিম বুনস

4
আমি cpan -lউইন্ডোতে নিজের জন্য দরকারী বলে মনে করি।
অকার্যকর

4
এটি দরকারী হতে পারে:instmodsh
রবি

উত্তর:


67

পার্ল এফএকিউ এ এটির উত্তর দেওয়া হয়েছে, যা দ্রুত উত্তর খুঁজে পাওয়া যায় perldoc -q installed। সংক্ষেপে, এটি উভয়টির ব্যবহার ExtUtils::Installedবা ব্যবহার করার ক্ষেত্রে নেমে আসে File::Find, যার আগে এই থ্রেডটি আচ্ছাদিত ছিল।

আপনি FAQ এন্ট্রিটিও খুঁজে পেতে পারেন "আমার সিস্টেমে কোন মডিউল ইনস্টল করা আছে তা আমি কীভাবে আবিষ্কার করব?" পেরফ্যাক 3 এ। পারফ্যালাক দেখে আপনি সব জিজ্ঞাস্য উত্তরগুলির একটি তালিকা দেখতে পারেন


36
এটি ওপি অনুরোধের চেয়ে অনেক বেশি দেয় যে এটি কার্যত অকেজো।
জাস্টিন

4
cpan -l আমি যে ডিরেক্টরি থেকে এটি চালাচ্ছি তার পুনরাবৃত্তি অনুসন্ধান করছে। কমান্ড লাইন থেকে ExtUtils::Installedকনস্ট্রাক্টরের skip_cwdবিকল্পটি পাস করার কোনও উপায় আছে কি ?
মার্ক রিড 15

10
প্রায়শই জিজ্ঞাসিত cpan -lপ্রশ্নাগুলি ব্যবহার করতে বলেছে তবে এটি RHEL6 এ কাজ করে না এবং /usr/bin/cpan -lত্রুটিটি ছুঁড়ে ফেলে Unknown option: l
স্টেফান লাসিউইস্কি

4
$ পেরেলডোক পেরেলোকাল | গ্রেপ মডিউল $ পেরেলডোক পেরেলোকাল |
গ্রেপ-

প্লেইন টেক্সট আউটপুট পেতে পার্ল্ডোক-টি পেরেলোক্যাল ব্যবহার করুন, অন্যথায় এম্বেড করা
সিটিআরএল

35
perldoc perllocal

সম্পাদনা: সিপিএএন FAQ এ সম্পর্কে আরও কিছু (অল্প) তথ্য রয়েছে


4
FAQ- এর লিঙ্কটির জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে আমি জানি যে সমস্ত মডিউলগুলি ইনস্টল করা আছে সেগুলি ফিরে আসছে না। তারিখ :: ক্যালক এমনকি সেখানে প্রদর্শিত হয় না।
ডেভিড ম্যাকলফলিন

26

perldoc -q installed

দাবি করে যে cpan -lকৌশলটি করবে, তবে এটি আমার পক্ষে কাজ করছে না। অন্য বিকল্প:

cpan -a

ইনস্টল করা প্যাকেজগুলির একটি দুর্দান্ত তালিকা ফুটিয়ে তোলে এবং একটি ফাইলগুলিতে সেগুলি লেখার দুর্দান্ত পার্শ্ব প্রতিক্রিয়া রয়েছে।


4
রেকর্ডের জন্য, cpan -lকাজ করে (বা সিপিএএন ভি 2.05 দিয়ে আমার জন্য করে)। cpan -aপ্রকৃতপক্ষে সুন্দর।
উইলিয়াম তারেল 14

23

এটি লক্ষণীয় যে পার্লডোক পেরেলোকাল কেবল সিপিএএন এর মাধ্যমে ইনস্টল হওয়া মডিউলগুলির প্রতিবেদন করবে। যদি কেউ মডিউল ম্যানুয়ালি ইনস্টল করেন তবে এটি তাদের খুঁজে পাবে না। এছাড়াও, যদি আপনার একাধিক লোক মডিউল ইনস্টল করে থাকে এবং পেরেলোকাল.পড উত্স নিয়ন্ত্রণে থাকে, লোকেরা দ্বন্দ্বগুলি ভুলভাবে সমাধান করতে পারে এবং তালিকাটিকে দুর্নীতিগ্রস্থ করতে পারে (উদাহরণস্বরূপ, এখানে কর্মক্ষেত্রে এটি ঘটেছে)।

আফসোসজনকভাবে, সমাধানটি ফাইল :: সন্ধান বা এর অনুরূপ কিছু দিয়ে @ আইএনসি দিয়ে হাঁটছে বলে মনে হচ্ছে। তবে এটি কেবল মডিউলগুলি খুঁজে পায় না, এটি বিতরণ সম্পর্কিত সম্পর্কিত মডিউলগুলিও খুঁজে পায়। উদাহরণস্বরূপ, এটি টেপ :: জোতা এবং টেপ :: পরীক্ষার আসল বিতরণ নাম ছাড়াও পার্সারের প্রতিবেদন করবে: জোতা (আপনার সংস্করণ 3 বা তত উপরে বলে ধরে নিচ্ছে)। আপনি এগুলিকে বিতরণের নামের সাথে সামঞ্জস্য করতে পারেন এবং যে নামগুলি মেলে না তার নামগুলি বাতিল করতে পারেন তবে আপনি স্থানীয়ভাবে নির্মিত এবং ইনস্টল হওয়া মডিউলগুলি ত্যাগ করতে পারেন।

আমি বিশ্বাস করি যে ব্রায়ান ডি ফয়েসের ব্যাকপ্যান ইনডেক্সিং কাজটি। Pm ফাইল এ হস্তান্তর করার কোড রয়েছে বলে মনে করা হয় এবং এটি বিতরণকে অনুমান করার চেষ্টা করবে, তবে এমনকি এটি কখনও কখনও ব্যর্থ হয় কারণ প্যাকেজে যা রয়েছে তা অগত্যা ইনস্টল করা হয়নি (দেখুন ডেভেল :: কভার :: উদাহরণস্বরূপ ইনক)।


4
আমি মনে করি না যে এটির জন্য আমার ব্যাকপ্যান ক্যাটালগ বন্দুকগুলি টানতে হবে। আমি টেস্টের সাথে এরকম কিছু করার চেষ্টা করি: প্রেরিক এটিকে ভেঙে ফেলার জন্য 02 প্যাকেজগুলিতে এটি কী ডিসট্রের সন্ধান করে তা যথেষ্ট। এটি যদিও মডিউল ফাইলগুলির তালিকা তৈরি করার চেয়ে কিছুটা জটিল, এবং ক্যাটালগটি এখনও এটি পরিচালনা করার কাছাকাছি নয়।
brian d foy

4
একটি প্রাথমিক পরীক্ষা থেকে (কিছু আশ্রয়প্রাপ্ত কিছু ডায়ারে "মেক-ইন ইনস্টল" করা) থেকে, যে কোনও মেকমেকার-ভিত্তিক মডিউলটির "মেক ইনস্টল" পদক্ষেপটি পারেলোকাল আপডেট করবে। এটি সরাসরি সিপিএএন এর মাধ্যমে ইনস্টল করার জন্য নির্দিষ্ট নয়।
rjray

4
আমি মনে করি ডিস্ট :: জরিপকারী " সেই লাইব্রেরিতে কোন বিতরণ ইনস্টল করা আছে?" প্রশ্নের উত্তর দেওয়ার জন্য এখনও সেরা হাতিয়ার । আরও বিশদ জন্য এই উপস্থাপনা দেখুন । গিট রেপোতে সহজেই ব্যবহারযোগ্য ফ্যাটপ্যাকড সংস্করণ রয়েছে ।
টিম বুনস

20
$ for M in `perldoc -t perllocal|grep Module |sed -e 's/^.*" //'`; do V=`perldoc -t perllocal|awk "/$M/{y=1;next}y" |grep VERSION |head -n 1`; printf "%30s %s\n" "$M" "$V"; done |sort
              Class::Inspector     *   "VERSION: 1.28"
                    Crypt::CBC     *   "VERSION: 2.33"
               Crypt::Rijndael     *   "VERSION: 1.11"
                    Data::Dump     *   "VERSION: 1.22"
                   DBD::Oracle     *   "VERSION: 1.68"
                           DBI     *   "VERSION: 1.630"
                   Digest::SHA     *   "VERSION: 5.92"
           ExtUtils::MakeMaker     *   "VERSION: 6.84"
                       install     *   "VERSION: 6.84"
               IO::SessionData     *   "VERSION: 1.03"
               IO::Socket::SSL     *   "VERSION: 2.016"
                          JSON     *   "VERSION: 2.90"
                  MIME::Base64     *   "VERSION: 3.14"
                  MIME::Base64     *   "VERSION: 3.14"
                   Mozilla::CA     *   "VERSION: 20141217"
                   Net::SSLeay     *   "VERSION: 1.68"
                        parent     *   "VERSION: 0.228"
                  REST::Client     *   "VERSION: 271"
                    SOAP::Lite     *   "VERSION: 1.08"
                  Task::Weaken     *   "VERSION: 1.04"
                 Term::ReadKey     *   "VERSION: 2.31"
                Test::Manifest     *   "VERSION: 1.23"
                  Test::Simple     *   "VERSION: 1.001002"
                  Text::CSV_XS     *   "VERSION: 1.16"
                     Try::Tiny     *   "VERSION: 0.22"
                   XML::LibXML     *   "VERSION: 2.0108"
         XML::NamespaceSupport     *   "VERSION: 1.11"
                XML::SAX::Base     *   "VERSION: 1.08"

4
এটি আমাদের যারা সিপিএন ইনস্টল করেনি তাদের পক্ষে দুর্দান্ত কাজ করে।
পিডওয়াকার

সত্যিই আন্ডাররেটেড উত্তর। এটি আরএইচএল বিতরণের জন্যও কাজ করে।
ক্রিস্টিনা

4
আমি পেয়েছি:No documentation found for "perllocal".
লুইস এ। ফ্লোরিট

আমার প্রত্যাশার চেয়ে চালানোর জন্য বেশি সময় নিয়েছে (আমার মেশিনে প্রায় 20 সেকেন্ড বা তার বেশি), তবে এটি নির্দোষভাবে কাজ করেছে! দুর্দান্ত উত্তর।
হ্যান্স গোল্ডম্যান

19

আপনি ExtUtils- ইনস্টল করা চেষ্টা করতে পারেন , তবে এটি কেবলমাত্র দেখায় .packlist, তাই এটি মডিউলগুলি মিস করতে পারে যা লোকেদের @INCহাতে জিনিসগুলি স্থানান্তরিত করে।

আমি কোনও বন্ধুর জন্য অ্যাপ-মডিউল-লিস্টার লিখেছিলাম যিনি এটি একটি শেলবিহীন ওয়েব হোস্টিং অ্যাকাউন্টে সিজিআই স্ক্রিপ্ট হিসাবে করতে চেয়েছিলেন। আপনি সাধারণভাবে মডিউল ফাইলটি নিয়ে যান এবং এটি কোনও ফাইল নাম হিসাবে আপলোড করুন যা আপনার সার্ভারটি সিজিআই স্ক্রিপ্ট হিসাবে বিবেচনা করবে। স্ট্যান্ডার্ড লাইব্রেরির বাইরে এর কোনও নির্ভরতা নেই। এটি যেমন ব্যবহার করুন বা কোড চুরি করুন।

এটি মডিউল এবং তাদের সংস্করণগুলির একটি তালিকা আউটপুট করে:

টাই: চক্র 1.15
টাই: IxHash 1.21
টাই: টগল 1.07
টাই টাই: টোবজেক্ট 0.03
সময় :: সিটাইম 99.062201
সময় :: DaysInMonth 99.1117
সময় :: যুগের 0.02
সময় :: অস্পষ্ট 0.34
সময় :: জুলিয়ানডে 2003.1125
সময় :: পার্সেডেট 2006.0814
সময় :: টাইমজোন 2006.0814

আমি এটি cpanসরঞ্জামটিতে একটি বৈশিষ্ট্য হিসাবে যুক্ত করার অর্থ করছি , তাই আমি এটিও করব। [সময় কেটে যায়] এবং এখন আমার একটি -lস্যুইচ ইন আছে cpan। রিলিজ করার আগে এর সাথে আমার আরও কিছু জিনিস করা দরকার, তবে এটি গিথুবে রয়েছে । আপনি যদি -aএটির জন্য অপেক্ষা করতে না চান, আপনি কেবল একটি অটোবান্ডেল তৈরি করতে স্যুইচটি চেষ্টা করতে পারেন, যদিও এটি তালিকাটির চারপাশে কিছু পড রাখে।

শুভকামনা;


13

এখানে একটি স্ক্রিপ্ট যা কৌশলটি করবে:

use ExtUtils::Installed;

my $inst = ExtUtils::Installed->new();
my @modules = $inst->modules();
foreach $module (@modules){
       print $module ." - ". $inst->version($module). "\n";
}

=head1 ABOUT

This scripts lists installed cpan modules using the ExtUtils modules

=head1 FORMAT

Prints each module in the following format
<name> - <version>

=cut

RHEL 6.9 এর অধীনে, এই স্ক্রিপ্টগুলি কেবলমাত্র নিম্নলিখিতগুলি মুদ্রণ করে: Perl - 5.10.1 মডিউলগুলি তালিকাভুক্ত নয়।
হান্স ডেরাগন

9

আমি এটির জন্য CPAN 'r' কমান্ডটি ব্যবহার করতে চাই। আপনি পুরানো শৈলীতে সিপিএএন শেলটিতে যেতে পারেন:

sudo perl -MCPAN -e shell

অথবা, বেশিরভাগ নতুন সিস্টেমে একটি 'সিপিএন' কমান্ড রয়েছে, সুতরাং এই কমান্ডটি আপনাকে শেলের কাছে নিয়ে যাবে:

sudo cpan

(এটি সাধারণত রুট হিসাবে চালানোর জন্য আপনাকে 'সুডো' ব্যবহার করতে হবে, বা চালানোর আগে রুট হয়ে উঠতে 'সু -' ব্যবহার করতে হবে, যদি না আপনি সিপান সেট না করে থাকেন তবে এটি সাধারণ ব্যবহারকারীর মতো চালাতে পারেন, তবে রুট হিসাবে ইনস্টল করুন। আপনার যদি এই মেশিনটিতে রুট না থাকে তবে আপনি এই তথ্যটি জানতে সিপিএএন শেলটি ব্যবহার করতে পারেন, তবে আপনি মডিউলগুলি ইনস্টল করতে পারবেন না এবং প্রথমবারের মতো আপনাকে প্রথমে কিছুটা সেটআপ দিতে হবে through চালাও এটা.)

তারপরে, আপনি একবার সিপিএন শেলটিতে পরে সমস্ত ইনস্টল করা মডিউল এবং তাদের সংস্করণগুলি রিপোর্ট করতে আপনি 'r' কমান্ডটি ব্যবহার করতে পারেন। সুতরাং, "সিপিএন>" প্রম্পটে, 'r' টাইপ করুন। এটি সমস্ত ইনস্টল করা মডিউল এবং তাদের সংস্করণগুলি তালিকাভুক্ত করবে। 'ব্যবহার করবেন?' আরও কিছু সাহায্য পেতে।


4
প্রকৃতপক্ষে 'আর' আপনাকে পুনরায় ইনস্টল করার প্রস্তাব দেয় - অর্থাত আপনার ইনস্টলের সমস্ত মডিউলগুলিতে সিপিএনের একটি নতুন সংস্করণ রয়েছে। আপনার ইনস্টলটি খুব পুরানো না হয়ে থাকলে এটি সম্পূর্ণ তালিকা হবে না।
EvdB

আমার 'আর' সর্বদা কিছু না বলেই প্রতিবেদন করে কারণ আমি বাধ্যতামূলকভাবে আপগ্রেড করি। যা আমাকে মনে করিয়ে দেয় ... আমি আজও আপগ্রেড করিনি।
skiphoppy

4
-R স্টাফ recompiles। একটি তালিকা পেতে, চেষ্টা করুন অথবা সর্বশেষ উত্সগুলি ডাউনলোড করুন এবং নতুন -l সুইচটির সাথে খেলুন, কেবল এই উত্তরের জন্য যুক্ত করুন। :)
brian d foy

4
sudoএখানে কেন ? এটি সম্পূর্ণ অপ্রয়োজনীয়।
এরিস্টটল প্যাগাল্টজিস


7

এটি * নিক্সে করার একটি সত্যই হ্যাকি উপায়, আপনি এমন কিছু জিনিস পেয়ে যাবেন যা আপনি সত্যই যত্নবান নন (যেমন: সতর্কতা :: নিবন্ধন করুন ইত্যাদি), তবে এটি আপনাকে প্রতিটি পিএম ফাইলের একটি তালিকা প্রদান করবে যা মাধ্যমে প্রবেশযোগ্য ible perl।


for my $path (@INC) {
    my @list = `ls -R $path/**/*.pm`;
    for (@list) {
        s/$path\///g;
        s/\//::/g;
        s/\.pm$//g;
        print;
    }
}


4
এটি তাকে যা চায় তা দেয় না। এটি এর সাথে সম্পর্কিত ফাইলগুলি বিতরণ দ্বারা গোষ্ঠী করবে না এবং এটি পার্ল থেকে সমস্ত মূল * .পিএম ফাইলগুলি তালিকাভুক্ত করবে।
rjray

7
perl -MFile::Find=find -MFile::Spec::Functions -Tlwe 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'

এটি খুব ভাল কারণ এটি প্রতিটি *.pmমডিউলটিতে স্পষ্টভাবে পুরো পথটি দেখায় । আপনি অনেকগুলি নকল দেখতে পাচ্ছেন ...
২২

7

আপনি instmodshআপনার টার্মিনালটিতে কমান্ড ব্যবহার করে আপনার সিস্টেমে ইনস্টল করা পার্ল মডিউলগুলির তালিকা পেতে পারেন they এটি আপনাকে আউটপুট বাড়ানোর জন্য তিনটি বিকল্প জিজ্ঞাসা করবে:

   l            - List all installed modules
   m <module>   - Select a module
   q            - Quit the program

6

লিনাক্স / ইউনিক্সে আমি এই সহজ কমান্ডটি ব্যবহার করি:

perl -e 'print qx/find $_ -name "*.pm"/ foreach ( @INC );' 

এটি সমস্ত ফোল্ডারে স্ক্যান করে @INCএবং কোনও *। Pm ফাইল অনুসন্ধান করে।


ধন্যবাদ! খুব দরকারী.
not2qubit

ধন্যবাদ! এটি সম্ভবত সবচেয়ে পারল যে আমাকে এরকম সংক্ষিপ্ত প্রকাশের সাথে শিখানো হয়েছিল।
ewd




2

যারা পারলডোক বা অন্যান্য মডিউল ইনস্টল করতে পারবেন না এবং কী মডিউলগুলি উপলব্ধ তা জানতে চান (সিপিএএন বা অন্যথায়), লিনাক্স এবং মিংডব্লিউ 32/64 এর জন্য নিম্নলিখিতটি কাজ করে:

grep -RhIP '^package [A-Z][\w:]+;' `perl -e 'print join " ",@INC'` | sed 's/package //' | sort | uniq

হ্যাঁ, এটা অগোছালো। হ্যাঁ, এটি সম্ভবত আপনি চান বেশি রিপোর্ট। তবে আপনি যদি এটি কোনও ফাইলে পাইপ করেন তবে আপনি সহজেই পরীক্ষা করতে পারেন, বলুন, কোন ডিবিএম ইন্টারফেস রয়েছে:

 grep -RhIP '^package [A-Z][\w:]+;' `perl -e 'print join " ",@INC'` | sed 's/package //' | sort | uniq > modules-installed
 cat modules-installed | grep -i dbm 

AnyDBM_File;
Memoize::AnyDBM_File;
Memoize::NDBM_File;
Memoize::SDBM_File;
WWW::RobotRules::AnyDBM_File;

এই কারণেই আমি এই পৃষ্ঠায় শেষ হয়েছি (হতাশ)

(আমি বুঝতে পেরেছি যে এটি ওপি-র প্রশ্নের সঠিক উত্তর দেয় না, তবে আমি এখানে যে কারও কারও কারও জন্য এটি পোস্ট করছি কারণ আমার একই কারণেই এটি হয়েছে That's জিজ্ঞাসা, এমনকি এটি উপস্থিত থাকা সত্ত্বেও, স্ট্যাক *** প্রায় সর্বদা গুগলের শীর্ষ হিট!)


এটি আমার পক্ষে কাজ করেছে। এই পোস্ট করার জন্য ধন্যবাদ। আমার এমন পরিবেশে এটি দরকার ছিল যেখানে কোনও নির্ভরতা ইনস্টল / আপডেট করতে আমার খুব বেশি অ্যাক্সেস নেই।
আশীষ কুমার

1

ঠিক এটি করতে আমি গতকাল একটি পার্ল স্ক্রিপ্ট লিখেছিলাম। স্ক্রিপ্টটি বিভক্তকারী হিসাবে '::' ব্যবহার করে @INC এ ইনস্টল করা পার্ল মডিউলগুলির তালিকা প্রদান করে। স্ক্রিপ্টটি কল করে কল করুন -

perl perlmod.pl

বা

perl perlmod.pl <module name> #Case-insensitive(eg. perl perlmod.pl ftp)

এখন পর্যন্ত স্ক্রিপ্টটি বর্তমান ডিরেক্টরি ('।') এড়িয়ে চলেছে যেহেতু নরম-লিঙ্কগুলি পুনরাবৃত্তি করতে আমার সমস্যা হয়েছিল তবে আপনি এটিকে গ্রাঙ্ক ফাংশনটি 17-এর লাইনে পরিবর্তন করে অন্তর্ভুক্ত করতে পারেন

  grep { $_ !~ '^\.$' } @INC

শুধু,

@INC

স্ক্রিপ্ট এখানে পাওয়া যাবে।


1

সমস্ত ইনস্টল করা পিএম ফাইলগুলি তালিকাভুক্ত করার জন্য এখানে আরও একটি কমান্ড-লাইন সরঞ্জাম রয়েছে:

একটি নিয়মিত অভিব্যক্তি মিলে ইনস্টল করা পার্ল মডিউলগুলি সন্ধান করুন

  • পোর্টেবল (শুধুমাত্র মূল মডিউলগুলি ব্যবহার করে)
  • দ্রুত দেখার জন্য ক্যাশে বিকল্প
  • কনফিগারযোগ্য ডিসপ্লে বিকল্পগুলি

1

এলআইএস (1) এর মতো কোনও বাহ্যিক প্রোগ্রাম না ব্যবহার করে @ আইএনসি ডিরেক্টরি গাছগুলির মধ্য দিয়ে চলতে, File::Find::Ruleমডিউলটি ব্যবহার করতে পারে , যার দুর্দান্ত ঘোষণাযুক্ত ইন্টারফেস রয়েছে।

এছাড়াও, পূর্ববর্তী পার্ল সংস্করণগুলিতে একই মডিউল থাকা অবস্থায় আপনি নকলগুলি ফিল্টার করতে চান। এটি করার কোডটি দেখে মনে হচ্ছে:

#! /usr/bin/perl -l

use strict;
use warnings;
use File::Find::Rule;

my %seen;
for my $path (@INC) {
    for my $file (File::Find::Rule->name('*.pm')->in($path)) {
        my $module = substr($file, length($path)+1);
        $module =~ s/.pm$//;
        $module =~ s{[\\/]}{::}g;
        print $module unless $seen{$module}++;
    }
}

রান শেষে, আপনার দেখা সমস্ত% ম্যাসেজের কী হিসাবে আপনার মডিউলটির নাম রয়েছে। কোডটি ক্যানোনিকাল ফাইলনাম ($ ফাইলে দেওয়া) বার হিসাবে দেখাবারের পরিবর্তে কীটির মান হিসাবে সংরক্ষণ করতে পারা যায়।


1

নিম্নলিখিত আমার জন্য কাজ করে।

$ perldoc perllocal | grep Module
$ perldoc perllocal | grep -E 'VERSION|Module'

1

এখানে @ জেমস থমাস মুন ১৯৯৯-এর একটি স্ক্রিপ্ট ওয়ান-লাইনার হিসাবে পুনরায় লিখেছেন

perl -MExtUtils::Installed -e '$i=ExtUtils::Installed->new(); 
      print "$_ ".$i->version($_)."\n" for $i->modules();'

0

পার্ল কুকবুকটিতে "pmdesc" স্ক্রিপ্টের একাধিক পুনরাবৃত্তি রয়েছে যা আপনি যা চান তা করে। "পার্ল কুকবুক পিএমডেস্ক" এর জন্য গুগল-অনুসন্ধান করুন এবং আপনি অন্যান্য প্রশ্নোত্তর সাইটগুলিতে নিবন্ধগুলি , নেটে কয়েকটি কোড তালিকা, সমাধানের আলোচনা, এমনকি কিছু সংশোধনও পাবেন


0

এখানে একটি পার্ল ওয়ান-লাইনার রয়েছে যা ইনস্টল করা মডিউলগুলির একটি তালিকা মুদ্রণ করবে:

perl -MExtUtils::Installed -MData::Dumper -e  'my ($inst) = ExtUtils::Installed->new(); print Dumper($inst->modules());'

আপনার কাছে ডেটা :: ডাম্পার ইনস্টল রয়েছে তা নিশ্চিত করুন।


4
এটি কেবলমাত্র 59 পার্ল মডিউলগুলি 5945 এর পরিবর্তে 'সিপিএন-এল' তালিকার তালিকাবদ্ধ করে।
পল টমলিন

0
cd /the/lib/dir/of/your/perl/installation
perldoc $(find . -name perllocal.pod)

উইন্ডোজ ব্যবহারকারীরা এটির জন্য একটি উইন্ডোজ এক্সপ্লোরার অনুসন্ধান করে।


0

"পেরেলডোক-এল" চেষ্টা করে দেখুন:

$ পেরেলডোক-এল লগ :: ডিসপ্যাচ / ওএসআর / এলোকাল / শেয়ারার / স্পার / 5.26.1/ লগ / ডিসপ্যাচ.পিএম


-1

আপনি আপনার পার্ল স্ক্রিপ্টটি প্রবেশ করার সাথে সাথে আপনার সমস্ত ইনস্টলড মডিউলগুলি এমআইএন-র ফোল্ডারগুলির নীচে .pm ফাইল হিসাবে ইনস্টল করা রয়েছে যাতে একটি ছোট বাশ স্ক্রিপ্ট আপনার পক্ষে কাজ করবে:

#!/bin/bash

echo -e -n "Content-type: text/plain\n\n"

inc=`perl -e '$, = "\n"; print @INC;'`

for d in $inc
do
   find $d -name '*.pm'
done

কেন না? find `perl -le'print for@INC'` -name '*.pm'
হায়েনেক-পিচি- ভ্যাচোডিল

-2

লিনাক্সের জন্য সবচেয়ে সহজ উপায় হ'ল

dpkg -l | grep "perl"

4
ওপি সিস্টেমে ইনস্টল করা সিপিএএন (পারল) মডিউলগুলির একটি তালিকা চেয়েছিল, সিস্টে পার্ল ইনস্টল করা থাকলে নয় (
অপ্ট অপ্টটি

আমি পার্ল বিশেষজ্ঞ নই তবে উপরের কমান্ড থেকে পার্ল মডিউলগুলি ইনস্টল করেছি। এখানে সঠিক উত্তর নাও হতে পারে।
ইয়াসিরু জি

@ ইয়াসিরুগ এটি কেবলমাত্র প্যাকেজগুলির মাধ্যমে ইনস্টল করা তাদের তালিকাভুক্ত করে; যে কোনও ইনস্টলেশন মধ্যে সংখ্যালঘু। তাদের বেশিরভাগ সিপিএএন এর মাধ্যমে ইনস্টল করা আছে।
jjmerelo

-2

এটি আমার পক্ষে কাজ করে

perl -e 'print join("\n",@INC,"")'

এই কোড স্নিপেটের জন্য আপনাকে ধন্যবাদ, যা কিছু সীমিত, তাত্ক্ষণিক সহায়তা সরবরাহ করতে পারে। একটি সঠিক ব্যাখ্যা কেন এটি সমস্যার একটি ভাল সমাধান তা দেখিয়ে তার দীর্ঘমেয়াদী মানকে ব্যাপকভাবে উন্নত করবে এবং ভবিষ্যতে পাঠকদের আরও অন্যান্য অনুরূপ প্রশ্নের সাথে আরও দরকারী করে তুলবে। আপনার অনুমানগুলি সহ কিছু ব্যাখ্যা যুক্ত করতে দয়া করে আপনার উত্তরটি সম্পাদনা করুন।
মাচাভিটি

-3

এটি আমি যা করি: perl -M{cpan_module}
আপনি যদি কোনও ত্রুটি না পান তবে মডিউলটি ইনস্টল হওয়ার ভাল সম্ভাবনা রয়েছে।


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