Menu

PERL TUTORIALS - Perl Packages & Modules

Perl Packages & Modules

ADVERTISEMENTS

What are Packages?

#!/usr/bin/perl

# This is main package
$i = 1; 
print "Package name : " , __PACKAGE__ , " $i\n"; 

package Foo;
# This is Foo package
$i = 10; 
print "Package name : " , __PACKAGE__ , " $i\n"; 

package main;
# This is again main package
$i = 100; 
print "Package name : " , __PACKAGE__ , " $i\n"; 
print "Package name : " , __PACKAGE__ ,  " $Foo::i\n"; 

1;

ADVERTISEMENTS

BEGIN and END Blocks

BEGIN { ... }
END { ... }
BEGIN { ... }
END { ... }

ADVERTISEMENTS

#!/usr/bin/perl

package Foo;
print "Begin and Block Demo\n";

BEGIN { 
    print "This is BEGIN Block\n" 
}

END { 
    print "This is END Block\n" 
}

1;

What are Perl Modules?

#!/usr/bin/perl

package Foo;
sub bar { 
   print "Hello $_[0]\n" 
}

sub blat { 
   print "World $_[0]\n" 
}
1;

The Require Function

#!/usr/bin/perl

require Foo;

Foo::bar( "a" );
Foo::blat( "b" );

The Use Function

#!/usr/bin/perl

use Foo;

bar( "a" );
blat( "b" );

require Exporter;
@ISA = qw(Exporter);

package Module;

require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(bar blat);

sub bar { print "Hello $_[0]\n" }
sub blat { print "World $_[0]\n" }
sub splat { print "Not $_[0]\n" }  # Not exported!

1;

Create the Perl Module Tree

$h2xs -AX -n  ModuleName

$h2xs -AX -n Person

Installing Perl Module

tar xvfz Person.tar.gz
cd Person
perl Makefile.PL
make
make install