I.T. Discussion Community!
-Collapse +Expand
Perl
Search Perl Group:

Advanced
-Collapse +Expand Perl To/From
To/FromCODEGuides
-Collapse +Expand Perl Store
PRESTWOODSTORE

Prestwood eMagazine

February Edition
Subscribe now! It's Free!
Enter your email:

   ► KBWebsite Scri...Perl   Print This     
  From the October 2015 Issue of Prestwood eMag
 
Perl Custom Routines (sub)
 
Posted 11 years ago on 11/27/2008
Perl Code Snippet:
 A flashcard from our Perl Flashcards Library
 A code snippet from our Perl Code Snippets Page

KB101659



Languages Focus: Custom Routines

For non-OOP languages, a custom routine is a function, procedure, or subroutine and for pure OOP languages, a custom routine is a class method. Hybrid languages (both non-OOP and OOP) combine both.

Perl Custom Routines

Perl uses subs and parameters are referenced in a special array. All arguments passed to a subroutine are stored in a special @_ array. To retrieve the arguments, you have to look inside the array and extract them.

Syntax Example:
sub sayHello {
 my ($pName) = $_[0];
 print("Hello $pName!");
}
sub add {
 my ($p1) = $_[0];
 my ($p2) = $_[1];
 return $p1 + $p2;
}

Complete Example

Notice in the following example the subs are located after the printing of the HTML closing tag. You can put them in a library but when I put them as part of a called page, I like to put them at the end.

#!/usr/local/bin/perl -w
 
print("Content-type: text/html\n\n");
 
#Start of HTML page.
print("<html>");
print("<head><title>Perl Tutorial</title></head>");
print("<body>");
 
&sayHello("Mike");
print("<br>");
 
#Example 1
$x = &add(2,1);
print("2+1=$x.<br>");
 
#Example 2 - no parens
$x = &add(2,2);
print "2+2=$x.<br>";
 
#Example 3 - parens with . concatenation operator
$x = &add(2,3);
print("2+3=" . $x . ".<br>");
 
#Example 4 - using sub directly
print("2+4=" . &add(2,4) . ".<br>");
print("</body></html>");
 
#
# Subs
#
sub sayHello {
 my ($pName) = $_[0];
 
 print("Hello $pName!");
}
 
sub add {
 my ($p1) = $_[0];
 my ($p2) = $_[1];
 
 return $p1 + $p2;
}

More Info


Comments

0 Comments.
Share a thought or comment...
 
Write a Comment...
...
Sign in...

If you are a member, Sign In. Or, you can Create a Free account now.


Anonymous Post (text-only, no HTML):

Enter your name and security key.

Your Name:
Security key = P1204A1
Enter key:
Code Contributed By Mike Prestwood:

Mike Prestwood is a drummer, an author, and creator of the PrestwoodBoards online community. He is the President & CEO of Prestwood IT Solutions. Prestwood IT provides Coding, Website, and Computer Tech services. Mike has authored 6 computer books and over 1,200 articles. As a drummer, he maintains play-drums.com and has authored 3 drum books. If you have a project you wish to discuss with Mike, you can send him a private message through his PrestwoodBoards home page or call him 9AM to 4PM PST at 916-726-5675 x205.

Visit Profile

 KB Article #101659 Counter
10338
Since 11/27/2008
-
   Contact Us!
 
PrestwoodBoards.com was developed and is maintainted by me. Do you have a question or suggestion? Do you see a problem? Contact me now. My goal is to build an ad-free and spam-free source of I.T. information with many contributers (ok to promote your website/company in your bio). Yes, my company Prestwood IT Solutions is mentioned in my bio which shows with every post, but you can contribute and promote your pet project too!

1,949 People Online Now!!  
Sign In to see who's online now!  Not a member? Join now. It's free!
Show more stats...


©1995-2019 PrestwoodBoards  [Security & Privacy]
Professional IT Services: Coding | Websites | Computer Tech