piyush.shourie has asked for the wisdom of the Perl Monks concerning the following question:

Fellow Monks,

I am using Crypt::RSA module. The problem I am facing is that I cannot print anything on screen while using this module. I also tried printing to a file, but of no use. Please help me out to display the result.

Sample code to demonstrate the problem is provided below:

use Crypt::RSA; print "Hello";


Replies are listed 'Best First'.
Re: Cant display results when Crypt::RSA is used
by Prior Nacre V (Hermit) on Oct 12, 2004 at 09:10 UTC

    Please run the following on your system and report output.

    use strict; use warnings; use Crypt::RSA; print "Hello";

    I suspect you have a problem with this module (maybe one of the many Crypt::RSA::* modules it uses is missing or corrupt). With warnings turned off, this will die at the use line and never reach the print line.




      I have run the mentioned code with warnings turned ON, but still it produces neither any output, nor any warning.

      I have build all the required modules myself, and no errors were encountered at the build/install time.

      Can you verify this piece of code on any other system if the said behavious is consistant on all machines.
      For further reference, I am using ActiveState Perl Version 5.6.1.


        Before posting I did try to run the code but I don't have this module installed on any of the systems I have access to. I don't have an ActiveState/Perl5.6 combination anyway.

        Perhaps another monk has the same setup as you and can provide a better answer.

        Failing that, here's the types of things I would be trying:

        • Remove the use statement to check print is working
        • Change Crypt::RSA to some other cryptographic module (e.g. Digest::MD5) and see it that prints
        • Change Crypt::RSA to some module you have never had a problem with (e.g. Carp) and see if that prints
        • Change use to require and see if anything different happens
        • Change output to unbuffered and see if that helps



Re: Cant display results when Crypt::RSA is used
by tilly (Archbishop) on Oct 12, 2004 at 15:15 UTC
    That sounds like perl is locking up when it tries to load Crypt::RSA. It never finishes executing the use, and so never reaches the print statement. I can think of no good reason why perl would do that, and it doesn't here.

    If I were in your shoes, I'd start looking at the files that Perl has to load to load Crypt::RSA. I'm going to guess that one or more of those files cannot be read for reasons that have to do with your filesystem and operating system (eg Windows file which something has a blocking lock on, or on Unix a file mounted over a misbehaving NFS connection). When you find that file, nothing will be able to read it.

    You'll likely need help from a system administrator to track this down.