2. Perl file system
• Perl File Handling: open, read, write and close files
• Opening files:
• Observation :
here File Handles is associate with file, u can use the
filehandle to read from the file.
If the file doesn't exist - or you cannot read it for any
other reason - then the script will die with the
appropriate error message stored in the $! variable.
3. • if you wanted to modify the file
• Then you'd have to specify the appropriate
mode using the three-argument form of open.
8. Eval
• Perl eval built-in function is very powerful
• The general form of perl eval expects a
expression or a block of code as an argument.
Return Value
This function returns value of last evaluated statement in EXPR or BLOCK
9.
10. Advantages of Eval
• trapping errors using eval
• create dynamic code using eval
• insert a code from a file/sub-routine using
eval
Perl eval can’t catch following errors:
• Uncaught signal
• Running out of memory
• Syntax errors
11. Perl Eval Error Handling – Trapping
Errors
• Eval is used to trap the errors. During the
execution of the subroutine the program
might die because of errors, or external calling
of die function.
In the above, $count contains the value as 0. When we run the code without the
eval block, the program gets exit.
12. During this time, if the block of perl code is executed inside the eval, then program
continues to run even after the die or errors, and it also captures the errors or
dieing words.
13.
14. Perl Packages
• A package is a collection of code which lives in
its own namespace
• A namespace is a named collection of unique
variable names (also called a symbol table).
• Namespaces prevent variable name collisions
between packages
• Packages enable the construction of modules
15. The Package Statement
• package statement switches the current
naming context to a specified namespace
(symbol table)
• If the named package does not exists, a new
namespace is first created.
16. • The package stays in effect until either
another package statement is invoked, or until
the end of the end of the current block or file.
• You can explicitly refer to variables within a
package using the :: package qualifier
17. BEGIN and END Blocks
• BEGIN and END Blocks
• You may define any number of code blocks
named BEGIN and END which act as constructors
and destructors respectively.
• Every BEGIN block is executed after the perl
script is loaded and compiled but before any
other statement is executed
• Every END block is executed just before the perl
interpreter exits.
• The BEGIN and END blocks are particularly useful
when creating Perl modules.
18. Perl Modules
• Modules : library functions
• A module is a .pm file that defines a library of
related functions
• Modules are conceptually similar to oldfashioned Perl libraries (.pl files), but have a
cleaner implementation
– Selective collection of namespace
– simpler function invocation
20. Module and main program
Hello1.pm
package Hello1;
sub greet {
return "Hello, World!";
}
1;
test1.pl
#!/usr/bin/perl
use Hello1;
print Hello1::greet();
21. Module structure
package Hello1;
sub greet {
return "Hello, World!n";
}
1;
Declare a package; file must
be saved as Hello.pm
Contents of the package:
functions, and variables.
Return a true value at end
22.
23.
24. Object Oriented in Perl
• Object Basics
• There are three main terms, they are object,
class, and method.
25. Objects
• an object is only a reference to a data type
that knows what class it belongs to.
• The object is stored as a reference in a scalar
variable. Because a scalar only contains a
reference to the object, the same scalar can
hold different objects in different classes.
26. class
• A class within Perl is a package that contains the
corresponding methods required to create and
manipulate objects.
• Methods:
• A method within Perl is a subroutine, defined with
the package. The first argument to the method is
an object reference or a package name,
depending on whether the method affects the
current object or the class.
• Perl provides a bless() function which is used to
return a reference and which becomes an object.
27. Defining a Class
• a class is corresponds to a Package.
• To create a class in Perl, we first build a package.
• A package is a self-contained unit of user-defined
variables and subroutines, which can be re-used
over and over again.
• They provide a separate namespace within a Perl
program that keeps subroutines and variables
from conflicting with those in other packages.
28. • To declare a class named Person in Perl we
do:
package Person;
Note:
The scope of the package definition extends to
the end of the file, or until another package
keyword is encountered.
29. Creating and Using Objects
• To create an object, we need object
constructor.
• This constructor is a method defined within
the package.
• Most programmers choose to name this
object constructor method new, but in Perl
one can use any name.
30. methods
• A method is a means by which an object's
data is accessed or modified.
• In Perl, a method is just a subroutine defined
within a particular package.
• So to define a method to print our Person
object, we do:
31. • The subroutine print is now associated with
the package Person.
• To call the method print on a Person object,
we use the Perl "arrow" notation.
32. Object creation
• To create an object,we need an object
constructor
• This constructor is a method defined within
the package.
33. • What have we done? We created a subroutine
called new associated with the package Person.
• The entries of the hash reference $self become
the attributes of our object.
• We then use the bless function on the hash
reference.
• The bless function takes two arguments: a
reference to the variable to be marked and a
string containing the name of the class.
• This indicates that the variable now belongs to
the class Person.
34. Interfacing to the operating system
• The Perl interface allows you to create Perl
scripts that can read the accounting files
produced by the exacct framework.
• You can also create Perl scripts that write
exacct files.
36. • Internet provides a global open infrastructure
for exchanging and sharing of various
resources for the people all over the world.
• The rapid development and the wide
application of Internet make it become a new
mainstream platform for software to be used,
developed, deployed and executed. With the
vision of “Internet as computer”,
37. • many application styles such as pervasive
computing, grid computing, service computing
and cloud computing occur on this open and
dynam
• in order to adapt the software system to such a
new environment, its structure model should
be autonomous, cooperative, situational,
evolvable, emergent, trustworthy,ic
environment.
38. • Internetware system is able to identify the changes
of open and dynamic environment such as Internet,
respond to the changes in the way of architectural
transformation, and exhibit context-aware, adaptive
and trustworthy behaviors in the open and dynamic
environment in order to meet its flexible design
objectives.
• Internetware challenges many aspects of software
technologies, from operating platforms,
programming models, to engineering approaches