Hi,
I have small doubts in the above module, i am reading "perlmod " i understand something. i am asking you,
can i use like this : package xmlhashtable as a module name.
can i use require function to call this module in my main section.
Code:
require My::XML::ashash
and also i am using strawberry Perl latest version so i need to install any anything to execute this program.
can you explain whats going with this comments.
Code:
my($proto,%args)=@_;
my $class= ref($proto)||proto; #Make inheritable
my $self; open( $self->{file}, '<', $args{'file'});
my $reader = XML::LibXML::Reader->new( IO => $self->{file} )
or die ("unable to open file"); # my $self->{nums};
why we are opening file in this module ,we can directly open in the main function.
finally is there any another easy way to create module. i started to read your suggested tutorials.
thank you very much for reply.
regards,
veerubiji.
---------- Post updated at 11:08 PM ---------- Previous update was at 09:20 PM ----------
Hi,
after reading module i create like this is it ok
Code:
#!/usr/bin/perl
package Mymodule;
use warnings;
use strict;
use Exporter qw(import);
use Carp;
use XML::LibXML::Reader;
our @EXPORT_OK(myFunction);
#Reading XML with a pull parser
sub MyFunction {
my $fh = shift;
my $reader = XML::LibXML::Reader->new( IO => $fh )
or die ("unable to open file");
my %nums;
while ($reader->nextElement( 'Data' ) ) {
my $des = $reader->readOuterXml();
$reader->nextElement( 'Number' );
my $desnode = $reader->readInnerXml();
$nums{$desnode}= $des;
}
return %nums;
}
1;
thank you very much both modules working.
you helped me alot.
Last edited by veerubiji; 10-13-2011 at 06:02 AM..
Hi friends,
What are the possible ways to connect to DB2 database from Perl (on unix).
I need to connect to DB2 and get records for further processing. Can you please suggest the best possible way. I heard about DBI/DBD, if you have some sample scripts please post them too.
Thanks in advance. (3 Replies)
Hi,
I am extracting SQL queries into a file and the file is as follows
*********************************************************
select BatchKey ,restartStatus ,batchContextBuffer ,batchPgmId ,StartKey ,
EndKey ,Mcbatchcontrol_ver
from
qsecminload.Mcbatchcontrol_t where RefId = :1 ... (5 Replies)
use strict;
print "Enter last 4 digits of phone number:";
chomp(my $number=<>);
die "Invalid number: '$number'\n" unless $number=~/^\d{4}$/;
my @d=split(undef,$number);
my %map={
2=>"",
3=>"",
4=>"",
5=>"",
6=>"",
7=>"",
8=>"",
9=>"",
};
my $r=$map{$d}.$map{$d}.$map{$d}.$map{$d};... (1 Reply)
I need a small and simple clarification...
Can someone tell me whether PERL is a programming language or not.
Also, can shell scripts also considered as programming language or not.
Also, please tell me the exact difference between programming language and scripting.
Please help.... (3 Replies)
Can someone please tell me what the big deal about perl is?
i have been doing shell programming for quite a number of years and I have to say, there's very little if any thing that I can't do in shell programming. i just need to investigate how to do it.
so, my question is, does deep... (1 Reply)
Hi, everyone!!
i am new to perl programming.. plz help me.
#!C:/perl/bin
use warnings;
use strict;
use Text::CSV_XS;
my @rows = "";
my $row;
my $count;
my $fh;
my @fields = "";
my $csv = Text::CSV_XS->new ({binary =>1}) or
die "cannot use CSV:" .Text::CSV->error_diag ();
open... (3 Replies)
I am having a text file with
Vivek 50
Ram 34
Hulk 45
Vivek 23
Ram 23
Vivek 55
Now I need a perl script to display the fields of 1st column & the 2nd column with summation (& avoid the duplicates).
Vivek 128
Ram 57
hulk 45
Plz help me... (1 Reply)
how to link the linux files in perl on the local webpage ????
suppose we have some results and want to get them published on the local webpage of our internal site. how this can be done using HTML and perl together , so that the results are published directly on the webpage.
thanks
kullu (0 Replies)
I am trying to make a simple perl program that reads 20 characters upstream from the codon ATG in a given sequence. The following is what I have. I just dont know how to make the program read 20 characters upstream from the ATG codon.
print "\nThis program will read 20 characters upstream... (1 Reply)
Dears,
I want to print filename and count of each file in perl but failing to implement.
`find $srcFolder -maxdepth 1 -type f -name "*$workDate*$fileExt" -exec sh -c ' && printf "$workDate|%s|%s\n" "$(wc -l<"$0")" *$workDate*$fileExt' {} \ >> /Sadique/filelog.out \\; 2> /dev/null`;
... (2 Replies)
Discussion started by: sadique.manzar
2 Replies
LEARN ABOUT DEBIAN
universal::require
UNIVERSAL::require(3pm) User Contributed Perl Documentation UNIVERSAL::require(3pm)NAME
UNIVERSAL::require - require() modules from a variable
SYNOPSIS
# This only needs to be said once in your program.
require UNIVERSAL::require;
# Same as "require Some::Module"
my $module = 'Some::Module';
$module->require or die $@;
# Same as "use Some::Module"
BEGIN { $module->use or die $@ }
DESCRIPTION
If you've ever had to do this...
eval "require $module";
to get around the bareword caveats on require(), this module is for you. It creates a universal require() class method that will work with
every Perl module and its secure. So instead of doing some arcane eval() work, you can do this:
$module->require;
It doesn't save you much typing, but it'll make alot more sense to someone who's not a ninth level Perl acolyte.
Methods
require
my $return_val = $module->require or die $@;
my $return_val = $module->require($version) or die $@;
This works exactly like Perl's require, except without the bareword restriction, and it doesn't die. Since require() is placed in the
UNIVERSAL namespace, it will work on any module. You just have to use UNIVERSAL::require somewhere in your code.
Should the module require fail, or not be a high enough $version, it will simply return false and not die. The error will be in $@ as well
as $UNIVERSAL::require::ERROR.
$module->require or die $@;
use
my $require_return = $module->use or die $@;
my $require_return = $module->use(@imports) or die $@;
Like "UNIVERSAL::require", this allows you to "use" a $module without having to eval to work around the bareword requirement. It returns
the same as require.
Should either the require or the import fail it will return false. The error will be in $@.
If possible, call this inside a BEGIN block to emulate a normal "use" as closely as possible.
BEGIN { $module->use }
SECURITY NOTES
UNIVERSAL::require makes use of "eval STRING". In previous versions of UNIVERSAL::require it was discovered that one could craft a class
name which would result in code being executed. This hole has been closed. The only variables now exposed to "eval STRING" are the
caller's package, filename and line which are not tainted.
UNIVERSAL::require is taint clean.
COPYRIGHT
Copyright 2001, 2005 by Michael G Schwern <schwern@pobox.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
AUTHOR
Michael G Schwern <schwern@pobox.com>
SEE ALSO
Module::Load, "require" in perlfunc, <http://dev.perl.org/rfc/253.pod>
perl v5.10.0 2009-03-30 UNIVERSAL::require(3pm)