SORU
4 AĞUSTOS 2010, ÇARŞAMBA


Perl, ne arasındaki farktır .pm (Perl modülü).(Perl script) dosyası pl?

.pm (Perl modülü) ve .pl (Perl script) arasındaki Fark dosya nedir?

Ayrıca biz dosyasından 1 dönmek için bir neden söyle lütfen. Eğer veya başka bir şey 2 dönüş, herhangi bir hata üretiyor değilse, neden Perl modülü 1 geri dönmek mi?

CEVAP
4 AĞUSTOS 2010, ÇARŞAMBA


Çok çekirdek, kullandığınız dosya uzantısı perl o dosyaları yorumlaması için hiç fark etmez.

Ancak Paket ismi ardından belirli bir dizin yapısı aşağıdaki .pm dosyaları koyma modülleri bir kolaylık sağlar. Bu yüzden, eğer bir modül Example::Plot::FourD ve sen koysana dizin Example/Plot/FourD.pm yolda @INC use require doğru olan neyse ona karar verildiğinde Paket ismi gibi use Example::Plot::FourD.

Dosyayı geri verin gerçek olarak geçen deyimi belirtmek için başarılı yürütme herhangi bir başlatma kodu, yani alışılmış son böyle bir dosya ile 1; sürece emin döner aksi takdirde true. Ama daha fazla ifadeleri ekleyin diye 1;,.

Eğer EXPR bareword, require varsayar "."uzantısı yerine ":: "/ "dosya adı, kolay standart modülleri yüklemek için yapmak." pm Modül yükleniyor bu form ad değiştirerek risk almaz.

use bütün BEGIN blok paketi, require verilen isim dosya yolunu ve Paket import çağırmak için. Hiçbir şey use kullanarak değil ama bu el adımlar atıyor engelliyor.

Bir dosya t.pl denilen Example::Plot::FourD paket koydum aşağıda örneğin, dosya bir script s.pl yüklendi.

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

Bu örnek dosyalar 1 herhangi bir gerçek değeri bitmesine gerek yok modülü yapacağını gösterir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Griffin Gibson

    Charles Grif

    26 NİSAN 2006
  • ODN

    ODN

    26 Kasım 2006
  • Xbox

    Xbox

    1 Kasım 2005