Thursday, October 1, 2009

Good Perl Tutorial

I have attached here a nice perl tutorial from Chan Bernard Ki Hong.

Wednesday, September 30, 2009

Display the list of installed packages on perl

Lets say that you are using the external vendor's hosted environment or somehow you don't know the inner things on your perl installations. how do you check the installed packages on the server using perl script?

I came through the same scenario when i intended to use CGI::Cookie Package. I was unable to check the package availability. then found the following script on web after some search and filter. when applied on my site, I got the full list of installed packages

use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || "Version Not Found";
print "$module — $version

This piece of code returns the list of packages and their versions on the system.

Monday, August 3, 2009

perl : viewing pdf file out of web folder

How to view a pdf file on your web page?
If the pdf file parked in a web folder like /cgi-bin/files/example.pdf, you can easily show it in a page using the following code

<embed src="/cgi-bin/files/example.pdf#toolbar=0&navpanes=1&scrollbar=0" width="100%" height="500">

so the page will show the pdf file embedded on the web page like the following

but lets say that, the pdf file is not accessible on web page, that means its parked out of web directory for the sake of security. then how to get the file viewed on the web page?

I did the following thing to achieve showing the pdf file out of web directory for testing.
  1. created a tempfile handler within web directory
    use File::Temp qw/ tempfile /;
    use File::Copy;
    use File::Basename;

    my($fh, $fname) = tempfile('TEMP_XXXX', SUFFIX => '.pdf', DIR =>'d:/Inetpub/cgi-bin/temp/');
  2. copied the file to the temp file
    copy("d:/files/example.pdf","$fname") or die "Copy failed: $!";
    $output_file = "temp/".basename($fname);

  3. embedded the temp file on the web page
    < embed src="$output_file#toolbar=0&navpanes=1&scrollbar=0" width="100%" height="500" >

Now the page shows the pdf file out of web folder. one more thing to consider on this is to remove the temp file after usage. by default, the temp file will be removed if application closed. but its better to unlink them after session ends.
this method is not preferred to show secured documents.