Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

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 '' where there is the basic structure .. and put some functions in this case subroutines in another file called ''. Then, should i include the '' file into as a module, with require ? Then, from :
having in
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

Replies are listed 'Best First'.
Re^3: Perl software on multiple files
by Perlbotics (Chancellor) 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.) ( 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::) 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).

Re^3: Perl software on multiple files
by Anonymous Monk on Sep 25, 2011 at 11:24 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://927736]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2018-04-22 13:36 GMT
Find Nodes?
    Voting Booth?