GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CGI::Application::Plugin::ViewCode(3) User Contributed Perl Documentation CGI::Application::Plugin::ViewCode(3)

CGI::Application::Plugin::ViewCode - View the source of the running application

In your CGI::Application based class

    use CGI::Application::Plugin::ViewCode;

Then you can view your module's source (or pod) as it's running by changing the url

    ?rm=view_code
    ?rm=view_code#215
    ?rm=view_code&pod=0&line_no=0
    ?rm=view_code&module=CGI-Application

    ?rm=view_pod
    ?rm=view_pod&module=CGI-Application

This plugin works by adding extra run modes (named "view_code" and " view_pod ") to the application. By calling this run mode you can see the source or POD of the running module (by default) or you can specify which module you would like to view (see SECURITY).

This extra run mode will accept the following arguments in the query string:
module
The name of the module to view. By default it is the module currently being run. Also, since colons (':') aren't simply typed into URL's, you can just substitute '-' for '::'.

    ?rm=view_code?module=My-Base-Class
    
highlight
Boolean indicates whether syntax highlighting (using Syntax::Highlight::Perl::Improved) is "on" or "off". By default it is "on".
line_no
Boolean indicates whether the viewing of line numbers is "on" or "off". By default it is "on". It "line_no" is on, you can also specify which line number you want to see by adding an anchor to the link:

    ?rm=view_code#215
    

This will take you immediately to line 215 of the current application module.

pod
Boolean indicates whether POD is seen or not. By default it is seen>.

This extra run mode will accept the following arguments in the query string:
module
The name of the module to view. By default it is the module currently being run. Also, since colons (':') aren't simply typed into URL's, you can just substitute '-' for '::'.

    ?rm=view_pod?module=My-Base-Class
    

This plugin can be used in conjunction with CGI::Application::Plugin::DevPopup. If we detect that CGI::Application::Plugin::DevPopup is running and turned on, we will create a sub-report that includes the highlighted source code.

So you can simply do the following:

    BEGIN { $ENV{CAP_DEVPOPUP_EXEC} = 1; } # turn it on for real
    use CGI::Application::Plugin::DevPopup;
    use CGI::Application::Plugin::ViewCode;

Befault, this report will be the same thing produced by "view_code". If you want this report to include the "view_pod" report, simply set the the $ENV{CAP_VIEWCODE_POPUP_POD} to true. You can also turn off the "view_code" report but setting $ENV{CAP_VIEWCODE_POPUP_CODE} to false.

    # have the POD report, but not the code in the dev popup window
    BEGIN { 
        $ENV{CAP_DEVPOPUP_EXEC} = 1;       # turn it on for real
        $ENV{CAP_VIEWCODE_POPUP_POD} = 1;  # turn on POD report
        $ENV{CAP_VIEWCODE_POPUP_CODE} = 0; # turn off code report
    }
    use CGI::Application::Plugin::DevPopup;
    use CGI::Application::Plugin::ViewCode;

This plugin is designed to be used for development only. Please do not use it in a production system as it will allow anyone to see the source code for any loaded module. Consider yourself warned.

Michael Peters, "<mpeters@plusthree.com>"

Please report any bugs or feature requests to "bug-cgi-application-plugin-viewsource@rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CGI-Application-Plugin-ViewCode>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

Copyright 2005 Michael Peters, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2022-04-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.