Hi,

I started to monitor this list not a while ago and just wanted to ask what is @ISA and @EXPORT here and how they are related to those "our" variables ?

thanks,
On 10/17/2012 8:07 AM, Rajeev Prasad wrote:
Hello Shlomi,

thx for the help. I tried and it worked. however I have few confusions. I tried 
it two ways (one yours and one from another website)  I am not sure what is 
different between the two approaches. I do not know can you explain pl?

from: http://www.tutorialspoint.com/perl/perl_modules.htm

file: Mymodule.pm

#!/usr/bin/perl
package Mymodule;

use strict;
use warnings;

require Exporter;
our @ISA = qw(Exporter);                        # IT WAS FAILING WITH my
our @EXPORT = qw(myroutine);

...

sub myroutine{
...

}
....



file: perlscript.pl

#!/usr/bin/perl

use strict;
use warnings;
use Template;
use Mymodule;

my ($output)=myroutine($input);






then used your method: and it worked, as expected. I am not sure what is the 
diff between two approaches? can you pl help explain? ty.

file: Mymodule.pm

#!/usr/bin/perl
package Mymodule;

use strict;
use warnings;

use parent 'Exporter';
our @EXPORT_OK = qw(myroutine);




file:  perlscript.pl

#!/usr/bin/perl

use strict;
use warnings;
use Template;
use Mymodule qw(myroutine);

my ($output)=myroutine($input);



----- Original Message -----
From: Shlomi Fish <shlo...@shlomifish.org>
To: Rajeev Prasad <rp.ne...@yahoo.com>
Cc: perl list <beginners@perl.org>
Sent: Tuesday, October 9, 2012 11:33 AM
Subject: Re: simplestic perl module

Hi Rajeev,

On Tue, 9 Oct 2012 08:54:31 -0700 (PDT)
Rajeev Prasad <rp.ne...@yahoo.com> wrote:

I want to execute this routine which is to be supplied two(sometimes
three) string variables. and will return two string variables. I want
to keep this routine in a separate file. how to do it?



something like:

($var1,$var2) = routine <arg1> <arg2>

I am either looking to keep this routine in a file which has many
routines. OR to keep this routine in a separate file, which has ONLY
this routine.

please suggest how to pass variables and accept the multiple values
returned by the routine.

Please see:

* http://perl-begin.org/topics/modules-and-packages/

for comprehensive info and tutorials about modules in Perl.

As a teaser, what you can do for example is:

[CODE]

# This is file MyModule.pm

package MyModule;

use strict;
use warnings;

use parent 'Exporter';

our @EXPORT_OK = qw(my_function);

sub my_function
{
     my ($first_s, $second_s) = @_;

     # Silly expressions:
     my $first_ret = $first_s . $second_s . "Hello";
     my $second_ret = $second_s . "Lambda" . $first_s;

     return ($first_ret, $second_ret);
}

1;

[/CODE]

And then do:

[CODE]
#!/usr/bin/perl

use strict;
use warnings;

use MyModule qw(my_function);

# Use my_function()
[/CODE]

But you really should learn about modules in Perl.

Regards,

     Shlomi Fish

ty.




--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to