Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
No such thing as a small change
 
PerlMonks  

Re^2: Perl software on multiple files

by testerG (Initiate)
on Sep 25, 2011 at 11:02 UTC ( #927736=note: print w/ replies, xml ) Need Help??


in reply to Re: Perl software on multiple files
in thread Perl software on multiple files

Thanks for the reply. QUESTION A : In PHP I usually create a file 'functions.php' where inside there are all the functions. From 'main.php' for example i call a function that is declared inside 'functions.php'. So, for you, i could create a main file called 'main.pl' where there is the basic structure .. and put some functions in this case subroutines in another file called 'oths.pl'. Then, should i include the 'oth.pl' file into main.pl as a module, with require ? Then, from main.pl :

&function();
having in oth.pl
sub function() { # do something }
will that work ? If yes, do you know some paper or somewhere where i could i find some example of a 'multi file' software in perl ? QUESTION B: gotcha, thanks. Thank you. Gio


Comment on Re^2: Perl software on multiple files
Select or Download Code
Re^3: Perl software on multiple files
by Anonymous Monk on Sep 25, 2011 at 11:24 UTC
Re^3: Perl software on multiple files
by Perlbotics (Abbot) on Sep 25, 2011 at 13:02 UTC

    Please don't do that. This approach usually becomes a great global mess before your system has a chance to grow big. Read Including files again, esp. the first section that hints not to follow the PHP path. The free Modern Perl book has specific chapters about modules (i.e.: Managing Real Programs, p. 201ff.) (...as already suggested by GrandFather and AM).

    Then refactor your code into modules (*.pm not *.pl BTW) that can be re-used and properly encapsulate/abstracts functionality. Check first if the functionality required is already available as a core module or a download from CPAN. Decide if it is better to have a functional- (what you do now) or an OO-interface and what really needs to be exported into your main.pl ($main::) namespace. Since you didn't gave us much details, it is hard to give you more specific advice (see ww's comment below).

    BTW: The &function() syntax is usually/probably not what you want (circumvents prototypes; makes current @_ visible to called sub; see perlsub for details).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://927736]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-04-20 11:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (485 votes), past polls