1 / 72

Chapter 4 Working with the Web

Chapter 4 Working with the Web. Chapter Objectives. Describe some basic Perl Functions Describe the basic functions within the CGI.pm library that can generate HTML tags Learn the different formats of the CGI.pm function syntax

Télécharger la présentation

Chapter 4 Working with the Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 4 Working with the Web

  2. Chapter Objectives • Describe some basic Perl Functions • Describe the basic functions within the CGI.pm library that can generate HTML tags • Learn the different formats of the CGI.pm function syntax • Understand how to use forms to send data and receive data to/in CGI/Perl programs

  3. Chapter Objectives • Describe some basic Perl Functions • Describe the basic functions within the CGI.pm library that can generate HTML tags • Learn the different formats of the CGI.pm function syntax • Understand how to use forms to send data and receive data to/in CGI/Perl programs

  4. Will Cover 3 Sets of Functions • Will discuss several functions • Some basic Perl functions—the square root, absolute value, string, and random number generation functions. • The print function—more details about the capabilities of the print function. • The param function—use of this function to receive input into your programs.

  5. Using Perl Functions • Perl includes built-in functions that provide powerful additional capabilities to enhance your programs. • Work much like operators, except that most (but not all) accept one or more arguments (I.e., input values into functions).

  6. Will Cover 3 Sets of Functions • Will discuss several functions • Some basic Perl functions—the square root, absolute value, string functions, and random number generation functions • The print function—more details about the capabilities of the print function. • The param function—use of this function to receive input into your programs.

  7. Some Basic Perl Functions • Here are a few functions within Perl • sqrt() –a single numerical argument as input & returns the square root of the argument passed in.For example, $x=25; $y=sqrt($x); print “x=$x y=$y and finally ”, sqrt(144); would output the following: x=25 y=5 and finally 12

  8. Some Basic Perl Functions - abs() • Absolute Value - • abs() – accepts a single numerical argument & returns the absolute value of this argument. For example, $x=-5; $y=42; print abs($x), “ “, abs($y); • would output the following output: 5 42 • The extra space in the print line (“ ”) provides a space between the output values.

  9. Some Basic Perl Functions -rand() • rand() – generates arandom number from 0 to the number passed into it. • Example use: simulating a roll of a die or displaying a random image in a document. • When int() is used with rand(), it forces rand() to return whole numbers instead of its default fractional numbers. • For example, $numb = int( rand(3) ); • returns a random number that is either a 0, 1, or 2.

  10. Some Basic Perl Functions - rand() • Here is another example of the rand() function: $dice=int(rand(6))+1; print "Your random dice toss is $dice"; • The random number that is generated in this case can be a 1, 2, 3, 4, 5, or 6. Thus one possible output of this code is Your random dice toss is 6

  11. Some Basic Perl Functions - rand() • length() – The length function is used to work with string variables. It returns the number of characters in the string argument. For example, • $name = “smith”; $title = “Domestic Engineer”; print “name is ”, length($name), “ title is ”, length($title), “ characters long”; • returns the following output: name is 5 title is 17 characters long

  12. Some Basic Perl Functions - rand() • localtime() – The localtime function is typically used with the time() function to determine the current date and time while your program is executing. • time returns the number of seconds since January 1, 1970. • When time() is used as an argument to the localtime() function, the output will be a set of scalar variables that provide the current date and time information. • For example,

  13. locatltime(time) return values ($sec, $min, $hr, $day, $mon, $yr, $wkday, $DayNumOfYr, $TZ ) = localtime(time); Current second Current minute Current Hour Day Of Month Month (0 is Jan, 1 is Feb, etc) Day of week (0 is Sun, 1 is Mon, since 1900. Number of years since 1900. Day of year (0 is Jan1, 1 is Jan 2, etc.) Timezone 1 if local time is using Daylight Savings Time; 0 otherwise

  14. Using localtime(time) ($sec, $min, $hr, $day, $mon, $yr, $wkday, $DayNumOfYr, $TZ ) = localtime(time); print "Time is $hr:$min:$sec Date=$mon/$day/$yr ";\ print "Wkday=$wkday DayNumbOfYear=$DayNumOfYr $TZ=$TZ”; Would produce the following example output: • Time is 21:12:58 Date=7/15/101 Wkday=3 DayNumbOfYear=226 1=1

  15. More Common Localtime Use • The following code shows a common use of localtime() to get date information: ($sec, $min, $hr, $day, $mon, $yr, $wkday, $DayNumOfYr, $TZ ) = localtime(time); $yr=$yr+1900; $mon = $mon + 1; print "Time is $hr:$min:$sec Date=$mon/$day/$yr "; print "Wkday=$wkday DayNumbOfYear=$DayNumOfYr $TZ=$TZ"; The output would look like the following: Time is 21:29:58 Date=8/15/2001 Wkday=3 DayNumbOfYear=226 1=1

  16. Will Cover 3 Sets of Functions • Will discuss several functions • Some basic Perl functions—the square root, absolute value, string, and random number generation functions. • The print function—more details about the capabilities of the print function. • The param function—use of this function to receive input into your programs.

  17. The print Function • You can enclose output in parentheses or not. • When use double quotation marks, Perl outputs the value of any variables. For example, $x = 10; print ("Mom, please send $x dollars"); • Output the following message: Mom, please send 10 dollars

  18. More On print() • If want to output the actual variable name (and not its value), then use single quotation marks. $x = 10; print ( 'Mom, please send $x dollars'); • Would output the following message: Mom, please send $x dollars

  19. Still More On print() • Can also comma separate several arguments to print(). For example, $x=5; print ('Send $bucks', " need $x. No make that ", 5*$x); This print statement request would output the following message: Send $bucks need 5. No make that 25

  20. Generating HTML with print() • Can use single quotes when output some HTML tags: print ‘<FONT COLOR=”BLUE”>’; • Can use backslash (“\”) to signal that double quotation marks themselves should be output: $color=”BLUE”; print “<FONT COLOR=\”$color\”>”;

  21. Using CGI.pm to generate HTML • The CGI.pm module provides several functions that can be used to concisely output HTML tags. For example, $mypage=‘It is a New Day’; print “<HTML><HEAD><TITLE> $mypage </TITLE></HEAD><BODY>”; • Can also be written as: $mypage=’It is a New Day’; print start_html(‘$mypage’); CGI.pm function

  22. 3 Basic CGI.pm Modules • start_html—creates starting HTML tags • header—creates the MIME Content-type line • end_html — creates ending HTML tags 1.#!/usr/bin/perl 2.use CGI ':standard'; 3.print header; 4.print start_html; 5.print '<FONT size=4 color="blue">'; 6.print 'Welcome <I>humans</I> to my site</FONT>'; 7. print end_html;

  23. Would output the following …

  24. Chapter Objectives • Describe some basic Perl Functions • Describe the basic functions within the CGI.pm library that can generate HTML tags • Learn the different formats of the CGI.pm function syntax • Understand how to use forms to send data and receive data to/in CGI/Perl programs

  25. CGI.pm Basic Functions The various CGI/PM function accept 3 basic syntactic formats: • No argument format—functions that can be used without any arguments • Positional argument format—functions that can accept comma-separated arguments within parentheses • Name-value argument format—functions that accept parameters submitted as name-and-value pairs

  26. No Argument Format • The Previous Example shows the start_html, header, end_html functions • You can place the 1 or more functions directly within a print statement • Would output <HTML><HEAD><TITLE></TITLE></HEAD><BODY><BR><BR><HR>

  27. CGI.pm Function Example of Use Example Output Header- the MIME Content-type line print header; Content-type:text/html\n\n start_html—Tags to start an HTML document print start_html; <HTML><HEAD><TITLE></TITLE></HEAD><BODY> br—output <BR> tag print br; <BR> hr—generate horizontal rule print hr; <HR> end_html—end an HTML document print end_html; </BODY></HTML> Some Single Argument Functions

  28. Positional Argument Format • Specify multiple arguments based on the position of the argument • For example

  29. CGI.pmFunctions Example of Use Example Output start_html()—tags needed to start an HTML document. start_html(‘My Page’); <HTML><HEAD><TITLE> My Page </TITLE></HEAD><BODY> h1()—header level 1 tags. (also h2(), h3(), and h4() ) print h1(‘Hello There’); <H1>Hello There </H1> strong() – output argument in strong. print strong('Now'); <STRONG>Now</STRONG> p()—creates a paragraph. print p(‘Time to move’); <P>Time to move </P> b()—prints the argument in bold. print b('Exit'); <B>Exit</B> i()—prints the argument in italics. print i('Quickly'); <I>Quickly</I> Some Positional Functions

  30. Operating on Variables • Can concisely use functions with a single print statement: • print i('Please '),'come when I call you ', strong('immediately.'); • This code would output the following: • <I>Please</I> come when I call you <STRONG>immediately.</STRONG>

  31. Consider the following example: 1. #!/usr/bin/perl 2. use CGI ':standard'; 3. print header, start_html(‘Positional Example’), h1('Simple Math'); 4. print b('two times two='), 2*2; 5. print br, 'but ', b('four times four='), 4*4; 6. print br, 'Finally, ', b('eight times eight='), 8*8; 7. print end_html;

  32. Would output The following 1. #!/usr/bin/perl 2. use CGI ':standard'; 3. print header, start_html(‘Positional Example’), h1('Simple Math'); 4. print b('two times two='), 2*2; 5. print br, 'but ', b('four times four='), 4*4; 6. print br, 'Finally, ', b('eight times eight='), 8*8; 7. print end_html;

  33. Name-Value Argument Format • Can specify names and values as follows: • Would output the following: <HTML><TITLE>My Title</TITLE></HEAD><BODY BGCOLOR=”yellow”>

  34. CGI.pmFunction Example Usage Example Output start_html start HTML document print start_html({ -title=>‘my title’, –bgcolor=>’red’ }); <HTML><HEAD><TITLE>my title</TITLE></HEAD> <BODY BGCOLOR=”RED”> img—inserts an image print img({-src=>'myfile.gif', -alt=>’picture’}); <IMG SRC="myfile.gif” alt=”picture”> a—establishes links print a( { -href=>'http://www.mysite.com'}, 'Click Here'); <A HREF="http://www.mysite.com"> Click Here </A> font()— creates <FONT> … </FONT> tags print font( { -color=>‘BLUE’, –size=>’4’}, ‘Lean, and mean.’); <FONT SIZE=”4” COLOR=”BLUE”> Lean, and mean. </FONT> Some name/value functions

  35. Example Name/Value Program 1.#!/usr/bin/perl 2.use CGI ':standard'; 3.print header; 4.print start_html({-title=>'New Day ', -bgcolor=>'yellow'}); 5.print 'Welcome One And ', i('All'); 6. print end_html; Set background color and title

  36. Would Output The Following ...

  37. Chapter Objectives • Describe the basic functions within the CGI.pm library that can generate HTML tags • Learn the different formats of the CGI.pm function syntax • Understand how to use forms to send data and receive data to/in CGI/Perl programs

  38. Input Data from HTML Forms • A common method to start CGI/Perl programs and pass them arguments. • Use form elements such as: • text areas, • check boxes, • selection lists, and • radio buttons • There are CGI.pm functions for each of these will describe the long-hand (not using CGI.pm)

  39. Starting and Ending Forms • HTML forms are created by using the HTML <FORM> and </FORM> tags. • Within these tags, you place various HTML form elements, such as text areas, check boxes, and radio buttons. • For example, • <FORM ACTION=”http://perl-pgm.com/cgi-bin/stuff.cgi” METHOD=”POST”> . . ß---(Your FORM elements here) . </FORM>

  40. Two primary <FORM> arguments • <FORM ACTION=”http://perl-pgm.com/cgi-bin/stuff.cgi” METHOD=”POST”> • get appends the form arguments to the end of the Web address. • post sends the data as part of the body of the HTML document. • Will use post since get method may limit the amount of data you can send. ACTION= - Specifies the URL of the CGI program to start when the form is submitted METHOD= - Defines the argument format that will be used to send data to the CGI/Perl program.

  41. Output Form Tags From Perl Example #!/usr/bin/perl use CGI ':standard'; print header, start_html(‘Sample Form’); print ‘<FORM ACTION=” http://perl-pgm.com/cgi-bin/stuff.cgi” METHOD=”POST”>’; . . ß---- (Perl statements that output FORM . elements go here) print ‘</FORM>’;

  42. Form Submit/Reset Buttons • 2 types of buttons: Submit form or erases input. • On submit, data is sent to the location specified in the ACTION= argument of the <FORM> tag. • HTML for submit/reset <INPUT TYPE=”SUBMIT” VALUE=”Click To Submit”> <INPUT TYPE=”RESET” VALUE=”Clear and Restart”> • Output from Perl program as follows: print ‘<INPUT TYPE=”SUBMIT” VALUE=”Click To Submit”>’; print ‘<INPUT TYPE=”RESET” VALUE=”Clear and Restart”>’; Label on button Type of button

  43. Form Submit/Reset Buttons 1.#!/usr/bin/perl 2.use CGI ':standard'; 3.print header, start_html('A First Form'); 4.print '<FORM ACTION="http://65.108.8.8/cgi- bin/C4/first.cgi" METHOD=”POST”>'; 5.print br, '<INPUT TYPE=”SUBMIT” VALUE="Click To Submit">'; 6.print '<INPUT TYPE=”RESET” VALUE="Erase and Restart">'; 7. print '</FORM>', end_html;

  44. Would output the following ...

  45. Setting Up Input Text Areas • Input Text Areas creates text boxes on forms. • HTML for Input Text boxes <INPUT TEXT TYPE=”text” SIZE=”15” MAXLENGTH=”20” NAME=”color”> • Output from Perl program as follows: print ‘<INPUT TEXT TYPE=”text” SIZE=”15” MAXLENGTH=”20” NAME=”color”>’; 15 character box 20 character max allowed sets a CGI variable called color

  46. Receiving HTML Form Arguments • Within the receiving program use param() • Make sure CGI variable name in NAME= argument from form matches argument in param() function. • See following example,

  47. Receiving HTML Form Arguments

  48. Example sending text box data • Here is a calling form with a text box: 1.#!/usr/bin/perl 2. use CGI ':standard'; 3. print header, start_html; 4. print '<FORM ACTION="http://65.108.8.8/cgi-bin/C4/form1Rcv.cgi" METHOD=”POST” >'; 5. print 'Enter A Color '; 6. print '<INPUT TEXT TYPE="TEXT" SIZE="15" NAME="color">'; 7. print br, '<INPUT TYPE=SUBMIT VALUE="Click To Submit">'; 8. print '<INPUT TYPE=RESET VALUE="Erase and Restart">'; 9. print ‘</FORM>’, end_html; Program to start “On submit” Sets CGI variable ‘color’ Creates submit and reset buttons

  49. Example sending text box data • Here is a receiving CGI/Perl Program: 1.#!/usr/bin/perl 2.use CGI ':standard'; 3.print header; 4.print start_html("Color my Text"); 5.$userColor = param('color'); 6.print "<FONT SIZE=4 COLOR=$userColor>"; 7.print 'Welcome to my World'; 8.print ‘</FONT>’, end_html; Receives CGI variable ‘color’ Sets <font to $userColor

More Related