Perl 5.12

I'm curious about Perl 5.12. I'd like to concurrently install it with my bundled Perl 5.8.8. Any advice on how to do this?

Best to ask the developers of Perl:
http://www.perl.com/pub/a/2000/10/begperl1.html

Similar Messages

  • Trying to get lighttpd to upload a file through perl cgi

    Hi, I'm quite new in these things, so I might be doing something obvious wrong, but I'd like some help on this.
    I'm trying to make a webpage where people can upload files, this is the html page (located at /srv/html/index.html):
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>lighttpd Test Page</title>
    </head>
    <body>
    <div style="text-align:center; font: 12px sans-serif;">
    <span style="font-weight: bold; font-size: 20px;">
    Arch Linux
    </span>
    <br><br>
    This is a test page for the lighttpd Web Server.<br>
    <form action="/cgi-bin/upload.pl" method="post" enctype="multipart/form-data">
    <input type="file" name="fileName" size="40">
    <input type="submit" value="Send">
    <input type="reset">
    </form>
    </div>
    </body>
    </html>
    And the backend (in /srv/html/cgi-bin/upload.pl):
    #!/usr/bin/perl -wT
    use strict;
    use CGI;
    use CGI::Carp qw ( fatalsToBrowser );
    use File::Basename;
    $CGI::POST_MAX = 1024 * 1024 * 5000; # 5GB filesize limit
    my $safe_filename_characters = "a-zA-Z0-9_.-";
    my $upload_dir = "/srv/jail/";
    my $query = new CGI;
    my $filename = $query->param("fileName");
    if ( !$filename )
    print $query->header ( );
    print "There was a problem uploading your file (filesize limit may be exceeded).";
    exit;
    my ( $name, $path, $extension ) = fileparse ( $filename, '\..*' );
    $filename = $name . $extension;
    $filename =~ tr/ /_/;
    $filename =~ s/[^$safe_filename_characters]//g;
    if ( $filename =~ /^([$safe_filename_characters]+)$/ )
    $filename = $1;
    else
    die "Filename contains invalid characters";
    my $upload_filehandle = $query->upload("fileName");
    open ( UPLOADFILE, ">$upload_dir/$filename" ) or die "$!";
    binmode UPLOADFILE;
    while ( <$upload_filehandle> )
    print UPLOADFILE;
    close UPLOADFILE;
    print $query->header ( );
    print <<END_HTML;
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Done!</title>
    </head>
    <body>
    <p>Uploading done!</p>
    </body>
    </html>
    END_HTML
    My server config:
    # lighttpd configuration file
    # use it as a base for lighttpd 1.0.0 and above
    # $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $
    ############ Options you really have to take care of ####################
    ## modules to load
    # at least mod_access and mod_accesslog should be loaded
    # all other module should only be loaded if really neccesary
    # - saves some time
    # - saves memory
    server.modules = (
    # "mod_rewrite",
    # "mod_redirect",
    # "mod_alias",
    "mod_access",
    # "mod_cml",
    # "mod_trigger_b4_dl",
    # "mod_auth",
    # "mod_status",
    # "mod_setenv",
    # "mod_fastcgi",
    # "mod_proxy",
    # "mod_simple_vhost",
    # "mod_evhost",
    # "mod_userdir",
    "mod_cgi",
    # "mod_compress",
    # "mod_ssi",
    # "mod_usertrack",
    # "mod_expire",
    # "mod_secdownload",
    # "mod_rrdtool",
    "mod_accesslog" )
    ## a static document-root, for virtual-hosting take look at the
    ## server.virtual-* options
    server.document-root = "/srv/http/"
    ## where to send error-messages to
    server.errorlog = "/var/log/lighttpd/error.log"
    # files to check for if .../ is requested
    index-file.names = ( "index.php", "index.html",
    "index.htm", "default.htm" )
    ## set the event-handler (read the performance section in the manual)
    # server.event-handler = "freebsd-kqueue" # needed on OS X
    # mimetype mapping
    mimetype.assign = (
    ".pdf" => "application/pdf",
    ".sig" => "application/pgp-signature",
    ".spl" => "application/futuresplash",
    ".class" => "application/octet-stream",
    ".ps" => "application/postscript",
    ".torrent" => "application/x-bittorrent",
    ".dvi" => "application/x-dvi",
    ".gz" => "application/x-gzip",
    ".pac" => "application/x-ns-proxy-autoconfig",
    ".swf" => "application/x-shockwave-flash",
    ".tar.gz" => "application/x-tgz",
    ".tgz" => "application/x-tgz",
    ".tar" => "application/x-tar",
    ".zip" => "application/zip",
    ".mp3" => "audio/mpeg",
    ".m3u" => "audio/x-mpegurl",
    ".wma" => "audio/x-ms-wma",
    ".wax" => "audio/x-ms-wax",
    ".ogg" => "application/ogg",
    ".wav" => "audio/x-wav",
    ".gif" => "image/gif",
    ".jar" => "application/x-java-archive",
    ".jpg" => "image/jpeg",
    ".jpeg" => "image/jpeg",
    ".png" => "image/png",
    ".xbm" => "image/x-xbitmap",
    ".xpm" => "image/x-xpixmap",
    ".xwd" => "image/x-xwindowdump",
    ".css" => "text/css",
    ".html" => "text/html",
    ".htm" => "text/html",
    ".js" => "text/javascript",
    ".asc" => "text/plain",
    ".c" => "text/plain",
    ".cpp" => "text/plain",
    ".log" => "text/plain",
    ".conf" => "text/plain",
    ".text" => "text/plain",
    ".txt" => "text/plain",
    ".dtd" => "text/xml",
    ".xml" => "text/xml",
    ".mpeg" => "video/mpeg",
    ".mpg" => "video/mpeg",
    ".mov" => "video/quicktime",
    ".qt" => "video/quicktime",
    ".avi" => "video/x-msvideo",
    ".asf" => "video/x-ms-asf",
    ".asx" => "video/x-ms-asf",
    ".wmv" => "video/x-ms-wmv",
    ".bz2" => "application/x-bzip",
    ".tbz" => "application/x-bzip-compressed-tar",
    ".tar.bz2" => "application/x-bzip-compressed-tar",
    # default mime type
    "" => "application/octet-stream",
    # Use the "Content-Type" extended attribute to obtain mime type if possible
    #mimetype.use-xattr = "enable"
    ## send a different Server: header
    ## be nice and keep it at lighttpd
    # server.tag = "lighttpd"
    #### accesslog module
    accesslog.filename = "/var/log/lighttpd/access.log"
    ## deny access the file-extensions
    # ~ is for backupfiles from vi, emacs, joe, ...
    # .inc is often used for code includes which should in general not be part
    # of the document-root
    url.access-deny = ( "~", ".inc" )
    $HTTP["url"] =~ "\.pdf$" {
    server.range-requests = "disable"
    # which extensions should not be handle via static-file transfer
    # .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
    static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
    ######### Options that are good to be but not neccesary to be changed #######
    ## bind to port (default: 80)
    server.port = ###
    ## bind to localhost (default: all interfaces)
    #server.bind = "127.0.0.1"
    ## error-handler for status 404
    #server.error-handler-404 = "/error-handler.html"
    #server.error-handler-404 = "/error-handler.php"
    ## to help the rc.scripts
    server.pid-file = "/var/run/lighttpd/lighttpd.pid"
    ###### virtual hosts
    ## If you want name-based virtual hosting add the next three settings and load
    ## mod_simple_vhost
    ## document-root =
    ## virtual-server-root + virtual-server-default-host + virtual-server-docroot
    ## or
    ## virtual-server-root + http-host + virtual-server-docroot
    #simple-vhost.server-root = "/srv/http/vhosts/"
    #simple-vhost.default-host = "www.example.org"
    #simple-vhost.document-root = "/htdocs/"
    ## Format: <errorfile-prefix><status-code>.html
    ## -> ..../status-404.html for 'File not found'
    #server.errorfile-prefix = "/usr/share/lighttpd/errors/status-"
    #server.errorfile-prefix = "/srv/http/errors/status-"
    ## virtual directory listings
    #dir-listing.activate = "enable"
    ## enable debugging
    #debug.log-request-header = "enable"
    #debug.log-response-header = "enable"
    #debug.log-request-handling = "enable"
    #debug.log-file-not-found = "enable"
    ### only root can use these options
    # chroot() to directory (default: no chroot() )
    #server.chroot = "/"
    ## change uid to <uid> (default: don't care)
    server.username = "http"
    ## change uid to <uid> (default: don't care)
    server.groupname = "http"
    #### compress module
    #compress.cache-dir = "/var/cache/lighttpd/compress/"
    #compress.filetype = ("text/plain", "text/html")
    #### proxy module
    ## read proxy.txt for more info
    #proxy.server = ( ".php" =>
    # ( "localhost" =>
    # "host" => "192.168.0.101",
    # "port" => 80
    #### fastcgi module
    ## read fastcgi.txt for more info
    ## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
    #fastcgi.server = ( ".php" =>
    # ( "localhost" =>
    # "socket" => "/var/run/lighttpd/php-fastcgi.socket",
    # "bin-path" => "/usr/bin/php-cgi"
    #### CGI module
    cgi.assign = ( ".pl" => "/usr/bin/perl",
    ".cgi" => "/usr/bin/perl" )
    #### SSL engine
    #$SERVER["socket"] == "0.0.0.0:443" {
    ssl.engine = "enable"
    ssl.pemfile = "/etc/ssl/private/lighttpd.pem"
    # server.errorlog = "/var/log/lighttpd/error-ssl.log"
    # accesslog.filename = "/var/log/lighttpd/access-ssl.log"
    # server.document-root = "/home/lighttpd/html-ssl"
    #### status module
    #status.status-url = "/server-status"
    #status.config-url = "/server-config"
    #### auth module
    ## read authentication.txt for more info
    #auth.backend = "plain"
    #auth.backend.plain.userfile = "lighttpd.user"
    #auth.backend.plain.groupfile = "lighttpd.group"
    #auth.backend.ldap.hostname = "localhost"
    #auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
    #auth.backend.ldap.filter = "(uid=$)"
    #auth.require = ( "/server-status" =>
    # "method" => "digest",
    # "realm" => "download archiv",
    # "require" => "user=jan"
    # "/server-config" =>
    # "method" => "digest",
    # "realm" => "download archiv",
    # "require" => "valid-user"
    #### url handling modules (rewrite, redirect, access)
    #url.rewrite = ( "^/$" => "/server-status" )
    #url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
    #### both rewrite/redirect support back reference to regex conditional using %n
    #$HTTP["host"] =~ "^www\.(.*)" {
    # url.redirect = ( "^/(.*)" => "http://%1/$1" )
    # define a pattern for the host url finding
    # %% => % sign
    # %0 => domain name + tld
    # %1 => tld
    # %2 => domain name without tld
    # %3 => subdomain 1 name
    # %4 => subdomain 2 name
    #evhost.path-pattern = "/srv/http/vhosts/%3/htdocs/"
    #### expire module
    #expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
    #### ssi
    #ssi.extension = ( ".shtml" )
    #### rrdtool
    #rrdtool.binary = "/usr/bin/rrdtool"
    #rrdtool.db-name = "/var/lib/lighttpd/lighttpd.rrd"
    #### setenv
    #setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
    #setenv.add-response-header = ( "X-Secret-Message" => "42" )
    ## for mod_trigger_b4_dl
    # trigger-before-download.gdbm-filename = "/var/lib/lighttpd/trigger.db"
    # trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
    # trigger-before-download.trigger-url = "^/trigger/"
    # trigger-before-download.download-url = "^/download/"
    # trigger-before-download.deny-url = "http://127.0.0.1/index.html"
    # trigger-before-download.trigger-timeout = 10
    ## for mod_cml
    ## don't forget to add index.cml to server.indexfiles
    # cml.extension = ".cml"
    # cml.memcache-hosts = ( "127.0.0.1:11211" )
    #### variable usage:
    ## variable name without "." is auto prefixed by "var." and becomes "var.bar"
    #bar = 1
    #var.mystring = "foo"
    ## integer add
    #bar += 1
    ## string concat, with integer cast as string, result: "www.foo1.com"
    #server.name = "www." + mystring + var.bar + ".com"
    ## array merge
    #index-file.names = (foo + ".php") + index-file.names
    #index-file.names += (foo + ".php")
    #### include
    #include /etc/lighttpd/lighttpd-inc.conf
    ## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf"
    #include "lighttpd-inc.conf"
    #### include_shell
    #include_shell "echo var.a=1"
    ## the above is same as:
    #var.a=1
    The site is running over https with a self signed ssl-cert, if that matters. If I try to upload a file, the browser just quickly reloades the page, the filename still in the input field. The file isn't uploaded and the page that the script should display when completed doesn't show neither.
    Does anyone know how to troubleshoot this? I'm not getting any errors, it just doesn't work..

    I haven't used Websphere before so I can't say much about that. Try putting <%@ page language="Java" %> at the top of your jsp page.
    Try putting your java files into a package and see if that helps. I read somewhere that Tomcat once had issues with running classes that weren't in a package. Make sure to put the package statement at the top of your Java files if you do.
    Websphere says it caught an unhandled exception. Instead of having your method throw and Exception put your code in a try-catch block and then print a stack trace to see if it says anything when it trys to read and write data.
    Try{
        PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("doUpload.txt")));
        ServletInputStream in = request.getInputStream();
        int a=0;
        a=in.read();
        while (a!= -1){
            pw.print((char) a);
            a=in.read();
        pw.close();
    }catch(Exception e){
      e.printStackTrace();
    }Sorry I can't really give you more help.
    -S-

  • Folder Action to Launch Perl Script

    Hello.
    I wrote a perl script which I wanted to execute when a file was dropped into a folder. I added a folder action with a very simple applescript:
    on adding folder items to this_folder after receiving added_items
    do shell script ¬
    ("perl /Users/Alexander/Library/Scripts/gte2.pl")
    end adding folder items to
    The folder action didn't do anything, any thoughts on what I'm doing wrong? Note, the perl script works fine when I run it from the terminal.
    thanks.

    Thanks Camelot, I appreciate the help. My script below is trying to read data from a file in folder in my system. So I will try your suggestion, I didn't realize the environment and path my be different.
    Regards Alex
    #!/usr/bin/perl -w
    #This program is to convert files from gamin running GPS watch to text file which can be loaded into excel.
    # To make executable, remember to set: chmod u+x <file>
    #set all the flags. Note the flags are used to stop the matching
    $i = 1; $k = 0; $start = "no";
    #Open data file and find values
    open(DATA,"/Users/Alexander/Alex's Misc/Health/Garmin_Conversion/run.tcx") || die "Couldn't open file*\n";
    #read in the data line by line until "end of file"
    while (<DATA>){
    #start parsing for information to keep
    if (/.<Id>./) {
    @Idline=split(/>/);
    @Idbeat=split(/T/,$Idline[1]);
    $Id=$Idbeat[0];
    if (/.<Track>./){
    $start = "yes";
    if ($start eq "yes"){
    if (/.<Time>./) {
    @timeline=split(/T/);
    @timebeat=split(/Z/,$timeline[2]);
    $Time[$i]=$timebeat[0];
    elsif (/.<LatitudeDegrees>./) {
    @HRline=split(/>/);
    @HRbeat=split(/</,$HRline[1]);
    $Latitude[$i]=$latbeat[0];
    elsif (/.<LongitudeDegrees>./) {
    @longline=split(/>/);
    @longbeat=split(/</,$longline[1]);
    $Longitude[$i]=$longbeat[0];
    elsif (/.<AltitudeMeters>./) {
    @altline=split(/>/);
    @altbeat=split(/</,$altline[1]);
    $Altitude[$i]=$altbeat[0];
    elsif (/.<DistanceMeters>./) {
    @distline=split(/>/);
    @distbeat=split(/</,$distline[1]);
    $Distance[$i]=$distbeat[0];
    elsif (/.<Value>./) {
    @HRline=split(/>/);
    @HRbeat=split(/</,$HRline[1]);
    $HR[$i]=$HRbeat[0];
    $i++;
    } #string matching
    } #if start flag is yes
    } #while data loop
    close (DATA) || die "couldn't close file.\n";
    #write all data to file in space delimited format
    open (NEWFILE, ">/Users/Alexander/Alex's Misc/Health/Garmin_Converted/$Id run") || die "can't create file.\n";
    $Time[0]="Time"; $Latitude[0]="Latitude"; $Longitude[0]="Longitude"; $Altitude[0]="Altitude"; $Distance[0]="Distance"; $HR[0]="HR";
    print NEWFILE "0 $Time[0] $Latitude[0] $Longitude[0] $Altitude[0] $Distance[0] $HR[0]\n";
    for ($j = 1; $j <= $i; $j++) {
    $k=$j+1;
    print NEWFILE "$j $Time[$j] $Latitude[$j] $Longitude[$j] $Altitude[$j] $Distance[$j] $HR[$j]\n";
    } #for j loop
    close (NEWFILE) || die "couldn't close newfile.\n";
    #This is the end of the program

  • Problem calling two perl modules from java in seperate threads(JVM CRASHES)

    Dear Friends,
    I have one severe problem regarding calling perl modules from java
    I had to call two perl modules simultaneously (i.e.) from two threads,,, but jvm crashes when one of the perl calls is exiting earlier
    I am unable to spot out why ....
    For calling perl from java ...., We are first calling C code from java using JNI and then Perl code from C
    All works fine if we call only one perl call at a time.... If we call them in a synchronized manner the JVM is not crashing .... But we don't want blocking..
    The following is the code snippet
    <JAVA FILE>
    class Sample
         static {
              System.loadLibrary("xyz");  // Here xyz is the library file generated by compiling c code
         public native void call_PrintList();
         public native void call_PrintListNew();
         Sample()
              new Thread1(this).start();     
         public static void main(String args[])
              System.out.println("In the main Method");
              new Sample().call_PrintList();
         class Thread1 extends Thread
              Sample sample;
              Thread1(Sample sam)
                   sample=sam;
              public void run()
                   sample.call_PrintListNew();     
    }<C FILE>
    #include <EXTERN.h>
    #include <perl.h>
    static PerlInterpreter *my_perl;
    static char * words[] = {"alpha", "beta", "gamma", "delta", NULL } ;
    static void
    call_PrintList(){
         printf("\nIn the Call method of string.c\n");
            char *wor[] = {"hello", "sudha", NULL } ;
               char *my_argv[] = { "", "string.pl" };
               PERL_SYS_INIT3(&argc,&argv,&env);
               my_perl = perl_alloc();
                   PL_perl_destruct_level = 1; //// We have mentioned this also and tried removing destruct call
               perl_construct( my_perl );
               perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
              PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
               perl_run(my_perl);
         dSP ;
            perl_call_argv("PrintList",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
    //     perl_destruct(my_perl);
    //          perl_free(my_perl);
    //           PERL_SYS_TERM();
    static void
    call_PrintListNew(){
    printf("In the new call method\n");
    char *wor[] = {"Hiiiiiiiiiiiiiii", "Satyam123333", NULL } ;
            char *my_argv[] = { "", "string.pl" };
            PERL_SYS_INIT3(&argc,&argv,&env);
            my_perl = perl_alloc();
    PL_perl_destruct_level = 1;
            perl_construct( my_perl );
            perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
            PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
            perl_run(my_perl);
            dSP ;
            perl_call_argv("PrintListNew",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
      //      perl_destruct(my_perl);
      //      perl_free(my_perl);
       //     PERL_SYS_TERM();
    void callNew()
    call_PrintListNew();
    void call ( )
    call_PrintList();
    //char *wor[] = {"hello","sudha",NULL};
    /*   char *my_argv[] = { "", "string.pl" };
          PERL_SYS_INIT3(&argc,&argv,&env);
          my_perl = perl_alloc();
          perl_construct( my_perl );
          perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
         PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
          perl_run(my_perl);*/
       //   call_PrintList();                      /*** Compute 3 ** 4 ***/
    /*      perl_destruct(my_perl);
          perl_free(my_perl);
          PERL_SYS_TERM();*/
        }And Finally the perl code
    sub PrintList
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
    sub PrintListNew
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
            }Please help me in this regard

    Dear Friends,
    I have one severe problem regarding calling perl modules from java
    I had to call two perl modules simultaneously (i.e.) from two threads,,, but jvm crashes when one of the perl calls is exiting earlier
    I am unable to spot out why ....
    For calling perl from java ...., We are first calling C code from java using JNI and then Perl code from C
    All works fine if we call only one perl call at a time.... If we call them in a synchronized manner the JVM is not crashing .... But we don't want blocking..
    The following is the code snippet
    <JAVA FILE>
    class Sample
         static {
              System.loadLibrary("xyz");  // Here xyz is the library file generated by compiling c code
         public native void call_PrintList();
         public native void call_PrintListNew();
         Sample()
              new Thread1(this).start();     
         public static void main(String args[])
              System.out.println("In the main Method");
              new Sample().call_PrintList();
         class Thread1 extends Thread
              Sample sample;
              Thread1(Sample sam)
                   sample=sam;
              public void run()
                   sample.call_PrintListNew();     
    }<C FILE>
    #include <EXTERN.h>
    #include <perl.h>
    static PerlInterpreter *my_perl;
    static char * words[] = {"alpha", "beta", "gamma", "delta", NULL } ;
    static void
    call_PrintList(){
         printf("\nIn the Call method of string.c\n");
            char *wor[] = {"hello", "sudha", NULL } ;
               char *my_argv[] = { "", "string.pl" };
               PERL_SYS_INIT3(&argc,&argv,&env);
               my_perl = perl_alloc();
                   PL_perl_destruct_level = 1; //// We have mentioned this also and tried removing destruct call
               perl_construct( my_perl );
               perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
              PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
               perl_run(my_perl);
         dSP ;
            perl_call_argv("PrintList",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
    //     perl_destruct(my_perl);
    //          perl_free(my_perl);
    //           PERL_SYS_TERM();
    static void
    call_PrintListNew(){
    printf("In the new call method\n");
    char *wor[] = {"Hiiiiiiiiiiiiiii", "Satyam123333", NULL } ;
            char *my_argv[] = { "", "string.pl" };
            PERL_SYS_INIT3(&argc,&argv,&env);
            my_perl = perl_alloc();
    PL_perl_destruct_level = 1;
            perl_construct( my_perl );
            perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
            PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
            perl_run(my_perl);
            dSP ;
            perl_call_argv("PrintListNew",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
      //      perl_destruct(my_perl);
      //      perl_free(my_perl);
       //     PERL_SYS_TERM();
    void callNew()
    call_PrintListNew();
    void call ( )
    call_PrintList();
    //char *wor[] = {"hello","sudha",NULL};
    /*   char *my_argv[] = { "", "string.pl" };
          PERL_SYS_INIT3(&argc,&argv,&env);
          my_perl = perl_alloc();
          perl_construct( my_perl );
          perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
         PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
          perl_run(my_perl);*/
       //   call_PrintList();                      /*** Compute 3 ** 4 ***/
    /*      perl_destruct(my_perl);
          perl_free(my_perl);
          PERL_SYS_TERM();*/
        }And Finally the perl code
    sub PrintList
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
    sub PrintListNew
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
            }Please help me in this regard

  • How to fetch data from a SAP BW Cube via Perl/PHP on a Linux machine?

    Hi all,
    here's the scenario:
    I need to fetch data from a cube of a remote SAP NetWeaver 7.  The data will later be used in a web application based on  Linux and  Perl/PHP. (I'd prefer using perl for the backend and doing the business logic of the web application.)
    I have:
    A Linux system with all its on-board tools and scripting languages.
    A user for the SAP BW which allows me to logon (very,very limited user rights, no se37,no se80,no rsaX and so on)
    Access to http://<SAP BW Server>:<Port>/sap/bw/xml/soap/xmla with the above mentioned user.
    My questions:
    - Could you please push me into the right direction how I can realize this? E.g. by pointing to tutorials / HowTos / sample code / CPAN modules etc..  (Most information I found so far referred to software based on a different operating system and on remote function calls using custom functions.)
    - I'm aware of the  SAPNW::RFC CPAN module, but do I necessarily have to perform a remote function call? ( If so, is there a "standard" function I could call for accessing a cube?)
    Thanks a lot in advance!

    You can take through the RFCS .check for some system function modules...but why do you need to route it through XI?How huge z the files?

  • How to launching a perl script by the "begin" script of a jumpstart

    Hi all,
    i have an urgent pb with my solaris jumpstart, let me explain to you :
    i want that the begin script launch some perl script, but i have a problem
    here is my "begin" script:
    echo "Begining ISO FLAR based jumpstart."
    echo ""
    echo "Starting Ullink Configuration"
    env > /tmp/env
    /bin/sh << EOF
    /usr/bin/perl /cdrom/.archives/admin-scripts/sethostname.pl
    EOFmy perl script use a STDIN
    with this configuration, the perl script is launching but it runs in a loop indefinitely with an error "use of uninitialized value", because (i think) a value is return to the begin scritp and not to the perl script.
    well, on a pre-installed solaris, if a launch the begin script, it happens the same thing, it runs in a loop, BUT if i comment the line "/bin/sh <<EOF" and "EOF", it works.
    at this step, i say "ok it's cool my script is working", but when i use it during the jumpstart instalaltion, the perl script does not start, without any particular error.
    here is my perl script, if you want to test :
    #!/usr/bin/perl -w^M
    # Set Hostname for Ullink Jumpstart^M
    ^M
    use strict;^M
    ^M
    sub hit_enter {^M
        print "Hit enter to continue\n";^M
        <STDIN>;^M
        print "\033[2J";^M
    }^M
    ^M
    sub get_hostname {^M
        my %towns_list = (^M
            'Paris' => 'PA',^M
            'New-York' => 'NY',^M
        );^M
    ^M
        my %sites_list = (^M
            'Office' => 'OFC',^M
            'Redbus' => 'RED',^M
            'Telehouse' => 'TLH',^M
            'DTC' => 'DTC',^M
            'iAdvantage' => 'IAD',^M
            'Nutley' => 'NUT',^M
            'Level3' => 'LV3',^M
            'Equinix' => 'EQX',^M
            'Tata' => 'TAT',^M
            'Switch-data' => 'SWI',^M
            );^M
    ^M
        my %usage_list = (^M
            'Production' => 'PRD',^M
            'UAT' => 'UAT',^M
            'DMZ' => 'DMZ',^M
        );^M
    ^M
        sub select_list {^M
            my $counter=-1;^M
            my %hash_list = @_;^M
            my @keys = keys %hash_list;^M
    ^M
            # Clear screen^M
            print "\033[2J";^M
            print "In which country this machine is hosted or will be host and will be used ?\n\n";^M
    ^M
            # Get all keys from hash^M
            my $key;
            while ($key = each %hash_list ) {^M
                $counter++;^M
                print "$counter - $key\n";^M
            }^M
    ^M
            print "\nChoose the number corresponding to your choice :\n";^M
            my $choice_number;
            chomp ($choice_number = <STDIN>);^M
    ^M
            # Verify answer^M
            if (($choice_number =~ /\d+/) and ($choice_number <= $counter)) {^M
                # Add choice to chosen hostname^M
                my $chosen=$hash_list{$keys[$choice_number]};^M
                return $chosen;^M
            } else {^M
                print "\nYour answer is not correct, you need to enter a number between 0 and $counter\n";^M
                &hit_enter;^M
                &select_list;^M
            }^M
        }^M
    ^M
        sub srv_number {^M
            print "\033[2J";^M
            print "What is the server number ?\n";^M
            my $server_number;
            chomp ($server_number = <STDIN>);^M
            if ($server_number =~ /\d+/) {^M
                return $server_number;^M
            } else {^M
                print "\nYour answer is not correct, you need to enter a number\n";^M
                &hit_enter;^M
                &srv_number;^M
            }^M
        }^M
    ^M
        my $full_hostname = &select_list(%towns_list).'-';^M
        $full_hostname = $full_hostname.&select_list(%sites_list).'-';^M
        $full_hostname = $full_hostname.'SRV-';^M
        $full_hostname = $full_hostname.&select_list(%usage_list).'-';^M
        $full_hostname = $full_hostname.&srv_number;^M
    ^M
        sub write_hostname2tmp {^M
            open (HOSTNAME, ">/tmp/set_hostname") or warn "Couldn't write $_[0] to temp file : $!\n";^M
                print HOSTNAME "$_[0]\n";^M
            close (HOSTNAME);^M
        }^M
    ^M
        print "\033[2J";^M
        print "Is $full_hostname the correct name for this server ? (y/n)\n";^M
        if (<STDIN> =~ /y|yes/i) {^M
            &write_hostname2tmp($full_hostname);^M
        } else {^M
            print "Would you like to retry (r) or set manually the hostname (s) ? (r/s)\n";^M
            if (<STDIN> =~ /s/i) {^M
                print "Type the full required name and hit enter when finished :\n";^M
                chomp ($full_hostname = <STDIN>);^M
                &write_hostname2tmp;^M
            } else {^M
                &get_hostname;^M
            }^M
        }^M
    }^M
    ^M
    # Start configuration^M
    print "\033[2J";^M
    print "\n########################################################\n";^M
    print "#\t\t\t\t\t\t       #\n";^M
    print "#\t\t\tULLINK\t\t\t       #\n";^M
    print '#  Solaris Environnement Installation for Datacenters  #';^M
    print "\n#\t\t\t\t\t\t       #";^M
    print "\n########################################################\n\n";^M
    print "Before starting installation, you need to enter a set of informations.\n(answer to all questions, you can Ctrl+C to stop now)\n\n";^M
    &hit_enter;^M
    ^M
    &get_hostname;^Mthank for your help
    Edited by: ullink on Jun 25, 2009 6:05 AM

    Hi Manju,
    You can try the following command and check if any helps:
    Get-Exchangeserver |where-object{$_.AdminDisplayVersion -like "Version 15*"} |Get-MailboxStatistics | Ft -auto -wrap DisplayName,database,servername,*size*,*time*
    Best regards,
    Niko Cheng
    TechNet Community Support

  • Runtime.exec("Perl Script writing and reading on I/O"), handling Streams

    Hi all !!
    In a first place : sorry for my english if it's not really understandable but I try to do as good as possible !
    I'm writing a GUI with Swing that will allow (in one of my multiple tables) the user to run a Perl Script.
    This Perl Script ask the user to choose a Folder ... then read all the files in this folder and for each file (xml File), extract the datas and put them in a database. But when a file that has to be inserted in the database contains this line : <Template_Used name="ST1.mtt"> and if the Template table in my database doesn't have the "ST1.mtt" stored ... the Perl Script ask to the user to give him the path of the file "ST1.mtt" so that the script can put the "ST1.mtt template" datas in the database.
    This script runs well when it is from a windows console.
    But I need a graphic interface !!!
    So I created a JButton "Process a folder".
    When the button is pressed, a JFileChooser appears and ask the user which Folder has to be processed.
    Then a Process is created with the command : ("cmd.exe /C \"C:\\Program Files\\Fluke\\Ansur\\ProcessFolder.bat\").
    The BatFile :
    {code}cd C:\Documents and Settings\tsd\Desktop\Gael-Project\Project_Files
    perl Process.pl
    exit{code}
    At this moment everything is working well.
    But my Process.pl (which is 300 lines long ... and that you don't even want to hear about), ask in a first time the Path of the folder to process and sometimes ask the path to a file (a template file).
    So I need to read and wirte on the STDIN/STDOUT during the exec of the Process.
    In order to handle this I created two different threads : one reading the Process.getInputStream with a BufferedReader and one other writing on the Process.getOutputStream with a PrintWrinter.
    What I need to do is :
    When I read a line from the InputStream saying "I need the path of the ST1.mtt file", I should run a JFileChooser ... the user find the file in the computer ... and I write in the OutputStream the path of the file, so that my Perl Script doesn't have un Unitialised value on <STDIN> and can continue to process !!
    I'm pretty sure it's possible ... because at the moment I just used a trick :
    When the user push the "process a folder" button, I write the paths in the OutputStream before than the script needs it and it works !
    But I need to write in the OutputStream only when it is time !!!
    Any idea ??
    Here are some parts of my code :
    {code}
    String filename = File.separator+"tmp";
              JFileChooser fc = new JFileChooser(new File(filename));
              fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY );
              // Show open dialog; this method does not return until the dialog is closed
         fc.showOpenDialog(null);
         Folder = fc.getSelectedFile();
              new GoodExec(cmd);
    {code}
    {code}
    public class GoodExec {
         public static Process proc;
         public static StreamGobbler errorGobbler;
         public static StreamGobbler inputGobbler;
         public static StreamGobbler outputGobbler;
         public GoodExec(String cmd)
         try
                   Runtime rt = Runtime.getRuntime();
              proc = rt.exec(cmd);
         // any error message?
         errorGobbler = new
         StreamGobbler(proc.getErrorStream(), "ERROR");
         // any input?
         inputGobbler = new
         StreamGobbler(proc.getInputStream(), "INPUT");
         // any output?
              outputGobbler = new
              StreamGobbler(proc.getOutputStream(), "OUTPUT");
         // kick them off
         errorGobbler.start();
         inputGobbler.start();
         outputGobbler.start();
         // any error???
         int exitVal = proc.waitFor();
         System.out.println("ExitValue: " + exitVal);
         } catch (Throwable t)
         t.printStackTrace();
    {code}
    {code}
    public class StreamGobbler implements Runnable
    InputStream is;
    OutputStream os;
    String type;
    Thread thread;
    public static String chaine;
    StreamGobbler(InputStream is, String type)
    this.is = is;
    this.os=null;
    this.type = type;
    StreamGobbler(OutputStream os, String type)
    this.os = os;
    this.is=null;
    this.type = type;
    public void start () {
         thread = new Thread(this);
         thread.start ();
    public void run()
    try
    if (is == null){
         PrintWriter toProgram = new PrintWriter(os);
         File FolderToProcess = ProcessFolder.Folder;
    String Folder = FolderToProcess.getPath();
    toProgram.write(Folder);
    toProgram.close();
    else {
         if (os == null){
         InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line=null;
    String comp = "Please enter the exact path of the directory that contains the files you want to process.";
    while ( (line = br.readLine()) != null){
         if (type.equals("INPUT")){
              chaine+=line+"\n";
         if (line.equals(comp)) {
              System.out.println("give directory");RUN A JFILECHOOSER AND GIVE THE DIRECTORY TO THE OUTPUTSTREAM
    System.out.println(type + ">" + line);
    is.close ();
    catch (IOException ioe){
         ioe.printStackTrace();
    {code}
    And here is an example of a simple perl script that could be used (it s a simple one !!) :
    {code}
    #!/usr/bin/perl -w
    use strict;
    print "Please enter the exact path of the directory that contains the files you want to process.\n";
    my $dir= <STDIN>;
    chomp ($dir);
    print "titallala $dir";
    if (the template of the file is not in the database){
    print "Please give me the template so that I can put it in the database";
    $dir= <STDIN>;
    chomp ($dir);
    {code}
    Thank you for your help ... if it's possible to help me !!
    Gael

    BalusC -- The line that gives me my NullPointerException is when I call the "DisplayProduct()" method. Its a dumb question, but with NetBeans how do I find out which reference could be null? I'm not very familiar with how NetBeans works with finding out how to debug. Any help you can give me would be greatly appreciated.The IDE is com-plete-ly irrelevant. It's all about the source code.
    Do you understand anyway when and why a NullPointerException is been thrown? It is a subclass of RuntimeException and those kind of exceptions are very trival and generally indicate an design/logic/thinking fault in your code.
    SomeObject someObject = null; // The someObject reference is null.
    someObject.doSomething(); // Invoking a reference which is null would throw NPE.

  • Setting up Perl under Apache

    I'm very disappointed with Apple over the very poor documentation and support for what is potentially an extremely valuable asset in the Mac OSX tool box i.e. being able to test Perl scripts locally using the Apache software included under OSX.
    Because it's taken me 2 days to wade through the discussions here and find resources online I want to help others avoid my delays and post what I found. I would also like to comment that the unix community active on this list though so very helpful in many ways could resist scorning those who are entirely unfamiliar with terminal and the command line interface and try to condescend to explain in layman's terms what is essentially not that complex but is so shrouded in jargon, shorthand and arcana that it seems almost deliberately difficult to penetrate. I would ask Apple to please just post a simple 'how to' or if they see fit include this email in their FAQ's.
    Thank you to the many who have posted on this subject on this list and I apologize if I have used your suggestions without personal credit. I am with this document merely giving back something of what I have taken out of this useful resource. Please feel free to offer amendments to any obvious mistakes or misunderstandings I am a novice at Unix attempting to help other novices because (Ibelieve) I still speak the same language.
    This method is for starting Perl under Tiger OS 10.4x (may work for Panther or earlier I haven't tested it) on a desktop machine, not a server.
    To start Apache under OSX
    1) To turn on Apache just go to System prefs and turn on 'personal web sharing' under the 'sharing' control panel. Note the IP address that appears under the 'Select a service...' window as this is the IP address of your local web address or 'yourlocalhostaddress' (referenced below). This is what you type into the browser to view your pages locally.
    2) It seems intuitive to place your web site in the user/yourusername/sites folder on your hard drive. While this is acceptable for basic web sites it seems to make configuration harder for Perl. I could not access a cgi-bin nor find documentation that satisfactorily informed me how to access a cgi-bin created in this location. That doesn't mean it's not possible just that I don't know how to do it.
    Apple have created another folder with a pre-configured cgi folder at the following location;
    yourharddrive/library/WebServer
    Place your website in the 'Documents' folder and your Perl scripts in the 'CGI_Executables' folder. It's unnecessarily confusing to me that Apple have essentially renamed the cgi-bin to 'CGI_Executables' and the 'html' folder to 'documents' as they would be found under the Apache installation that I'm familiar with but that seems to be what's happened here.
    To start Perl support in Apache under OSX
    3) If you dont already have one it's useful to have an ultra simple Perl script on hand to test whether your configuration is working. More complex script such as formmail.pl may have additional settings that are confusing as to whether it's the file or the configuration that is causing a script error. To create a simple script copy and paste the following code;
    #!/usr/bin/perl
    print "Content-type: text/html\r\n\r\n";
    print "Hello, World.";
    into a new, empty document in a text editor and save it as 'first.pl' in your 'CGI_Executables' folder. You can open it in Safari using the following address;
    http://yourlocalhostaddress/cgi-bin/first.pl
    4) If you test your script now a call to the Perl script will merely open the page with the script as text and will not run it. This is because Apple supplies their copy of Apache with Perl disabled, it's necessary to edit a file called 'httpd.conf' in order to turn Perl on. The recommended way to turn this file on is using the terminal program but the file can also be located through the mac OS although it is partially hidden, it can be edited in a text editor that is suitable for coding such as BBEdit.
    The best online documentation I found about how to edit the httpd.conf file using terminal is here;
    http://www.macdevcenter.com/pub/a/mac/2001/12/14/apache_two.html?page=1
    However I'm not sure that he is accurate (though I hesitate to disagree with the expert) my experience was significantly different see below(*).
    Terminal has useful testing features but the command line is obscure and daunting to the novice. In addition UNIX programmers seem to delight in scaring away the cautious with silly, portentous warnings about privacy etc. This document is very sensitive to the way it's edited, however your computer will not blow up if you get it wrong and there is a back-up default version stored in the same folder so if you do screw up you can restore the defaults and start again.
    If you wish to do it without going through the terminal the 'httpd.conf' file is located here;
    /private/etc/httpd/httpd.conf
    where private is an invisible folder so you cant navigate to it directly via the Mac OS. However if you copy and paste the above address into Safari's address bar the folder window will come up revealing the document (this is an undocumented feature and I discovered it by accident so use at your own risk). Alternatively you can navigate to it using an FTP program such as Transmit when you have 'show hidden files' turned on in the preferences. Transmit is a very useful tool because it also allows you to view and change the permissions (or CHMOD) of the files you view in the same manner as you would on a remote server. Something which you cannot do using the 'Get Info' on the Mac OS
    You'll notice that there is an httpd.conf and an httpd.conf.default file. The latter is your backup so dont be overly scared of editing the first file, proceed with caution but not with trembling.
    Once you have the program open in BBEdit (or your editor of choice) uncomment the following lines by deleting the # symbol;
    #LoadModule perl_module libexec/httpd/libperl.so
    #AddModule mod_perl.c
    The quickest way to find these lines is to do a find on 'Perl' (something you cant do in Terminal). Dont change anything else just save and close, you will be required to enter your administrator password at this point.
    (*)Please note;
    Kevin Hemenway in the macdevcenter.com article says to uncomment the following lines;
    #LoadModule cgi_module libexec/httpd/mod_cgi.so
    #AddModule mod_cgi.c
    And makes no mention of the lines ending in perl rather than CGI. His article is from 12/14/2001 so it may be out of date. In my httpd.conf file the lines ending 'cgi' were already uncommented but the lines ending 'perl' were commented out. I uncommented the lines ending 'perl' and now in my version both (cgi and perl) are uncommented and active. There are security implications to uncommenting any lines so I may have opened a security loophole that I'm not aware of however until I uncommented the 'perl' lines my scripts did not work. I would be grateful for an explanation of the implications from any Unix expert reading this.
    5) The last thing you need to do is restart Apache so that it can load the new config file. To do this stop web sharing in the preferences pane and then restart it.
    If you test your simple Perl script 'first.pl' now it should load and show the text "Hello World" in a browser window.
    6) if you wish to load a more complex script and find that they will still not work, at least you know that Perl is working. You can check the error logs by opening the terminal and at the prompt (yourusername$) type;
    tail /var/log/httpd/error_log
    This enables you to trace the whether a permissions, configuration or other error has occurred.
    WARNING;
    The above is a distillation of my frustrating experience over the last 2 days, it details how I finally got it to work. With everything in scripting I find that I repeat the same method multiple times, convinced each time that I have it right and all of a sudden it works where it didn't work before. This always leaves me unsure that I may have inadvertently done some thing right (as logically I was obviously inadvertently doing something wrong before) that is not documented here. I offer this method as the product of my experience, because I hope it is helpful and because I have the confidence that there is a way to back out of it using the default config file. Despite the above use at your own risk.
    G5 Dual 2.5Ghz + Pbook G4 867Mhz + 15GB iPod   Mac OS X (10.4.3)  

    That sounds like a very good useful tip. I would hold on to it in your own computer's repository as well and post sections of it whenever you see someone needing help with it until you are able to add it to the contributions section of the User Tip forum here:
    http://discussions.apple.com/category.jspa?categoryID=103

  • Pass value from Java to Perl

    Anyone knows how to pass value from Java to Perl program?

    Did you write the perl program? Can you change it? Or are you trying to interface to something that already exists? This will limit your options, of course.
    Anyway the first option is simple. The java program does this:
    System.out.println("This is a line of input.");The perl program does this:
    while(<>)and in that block, $_ is assigned to each line of input.
    Then you can invoke both like this:
    $ java MyJavaProgram | perl MyPerlProgram.pl

  • Can the WLPI be used for a perl web site

    We have a client, which has a perl(Apache/mod_perl) based web site. Cutomers submit orders on the web site and right now there is an order-processing system, but the client is looking for workflow/process product which will ease with all this order processing stuff like acknowledgement, approval, shipping, etc....So my question here is, can they use the WeBLogic Process Integrator for this purpose? The reason I am asking this is, looking at the WLPI docs, it looks like a Java/WebLogic only product and cannot be used for a perl web site.Thanks,Shireesh Thanneru

    Yes.
    However I would not recommend it, at least as your primary connection for the SmartTV.  Relying primarily on VZW data plans is a bad way to view video services such as Netflix at the moment.  It is very easy to chew through your plan with only a few videos depending on the resolution and a few other factors.  Not only that but a smart TV may be periodically checking the internet from time to time to download firmware updates or provide reporting stats to the manufacturer. 
    VZW Jetpacks continue to be a poor choice for home primary internet replacement.  The data plans that come from VZW and all other metered wireless providers are not friendly to this kind of internet traffic.  Letting your guard down for a moment could result in costly overages and once you accumulate them you will be liable to pay them.  A normal cable or DSL line with a high/unlimited cap would be more appropriate.
    If the Jetpack is a backup or temporary internet connection then go for it.  This is what a Jetpack is designed for, you can get by every now and then without too much risk.  Just make sure you are powering your Jetpack down as soon as you are done streaming and keep a close eye on your data plan before and after any major viewing. 

  • 10.5.8 Server, Amavisd 2.6.4 crahing perl, with BerkeleyDB Problem

    By searching the interwebs and discussions here didn't find a solution that worked for me yet.
    System Details: Quad intel Xserve, 10.5.8 Server (Security Update 2009-005 not yet applied.)
    Seems to have started this night around 2am.
    Amavisd-new 2.6.4 will not accept transport anymore. Logs the well known
    Sep 16 15:23:00 mail postfix/qmgr[3853]: warning: connect to transport smtp-amavis: Connection refused
    Sep 16 15:23:12 mail deliver[3869]: connect(/var/imap/socket/lmtp) failed: Connection refused
    messages to the log.
    Tried rebuilding amasid-new and all the needed perl modules. CPAN worked well, yet perl seems to crash anytime amavisd will access a BerkelyDB from cyrus.
    SMTP in seems to work fine, SMTP out as well, transport from postfix to cyrus via amavisd is still broken. My own user account can send and even receive mails without a problem, which stumps me a little. I only have that user for testing purposes, so it doesn't carry any amount of email beyond test mails, counting less than 100 messages.
    I have already checked for privileges and quota problems with the .db.
    Repairing the Database with ServerAdmin hasn't helped, as did a reconstruct with ServerAdmin. I'm still trying to avoid full mailbox rebuilds. I'd prefer rebuilding only the problematic mailboxes and not all mailboxes to have a few as possible users with all their unread status reset.
    For a quick fix, I'd like to be able to deliver mails to the users boxes so they get their mails for the moment, seems they are able to send without problems. This should buy me a little more time until I can fix it all properly.
    Turning off Spam and Virus filtering doesn't help the delivery, which I expected it would. doesn't this time.
    How can I find out which user's mailboxes are corrupted so I can only completely rebuild the ones really needed? I'm willing to jump through substantial hoops to prevent the need to do a full server mailbox rebuild. (ca. 90GB of mails in total… would take a looong time and upset the users.)
    I can test everything and can of course provide any more details you might need to help me.
    This setup is quite modified from Apple's stock setup mostly following pterobyte's excellent recommendations and tutorials for improvement.
    Best regards
    Pepi
    This is what the mail system logs when starting up:
    Clearly there is a problem with the cyrus databases which seem to cause amavisd/perl to crash.
    Sep 16 15:43:29 mail sudo[68375]: radmin : TTY=ttys007 ; PWD=/private/var ; USER=root ; COMMAND=/usr/sbin/serveradmin start mail
    Sep 16 15:43:30 mail master[68377]: process started
    Sep 16 15:43:30 mail postfix/postfix-script[68382]: fatal: the Postfix mail system is not running
    Sep 16 15:43:30 mail ctl_cyrusdb[68379]: DBERROR db4: DBENV->logflush: LSN of 1/62288 past current end-of-log of 1/15979
    Sep 16 15:43:30 mail ctl_cyrusdb[68379]: DBERROR db4: Database environment corrupt; the wrong log files may have been removed or incompatible database files imported from another environment
    Sep 16 15:43:30 mail ctl_cyrusdb[68379]: DBERROR db4: /var/imap/tls_sessions.db: unable to flush page: 0
    Sep 16 15:43:30 mail ctl_cyrusdb[68379]: DBERROR db4: txn_checkpoint: failed to flush the buffer cache Invalid argument
    Sep 16 15:43:30 mail ctl_cyrusdb[68379]: DBERROR db4: PANIC: Invalid argument
    Sep 16 15:43:30 mail ctl_cyrusdb[68379]: DBERROR: critical database situation
    Sep 16 15:43:35 mail master[68377]: process 68379 exited, status 75
    Sep 16 15:43:35 mail idled[68430]: cleaning up corrupted database files in: /var/imap/db
    Sep 16 15:43:35 mail idled[68430]: ----: removed file: __db.001
    Sep 16 15:43:35 mail idled[68430]: ----: removed file: __db.002
    Sep 16 15:43:35 mail idled[68430]: ----: removed file: __db.003
    Sep 16 15:43:35 mail idled[68430]: ----: removed file: __db.004
    Sep 16 15:43:35 mail idled[68430]: ----: removed file: __db.005
    Sep 16 15:43:35 mail idled[68430]: ----: removed file: log.0000000001
    Sep 16 15:43:36 mail master[68377]: Cyrus POP/IMAP Server v2.3.8 ready for work
    Sep 16 15:43:36 mail ctl_cyrusdb[68432]: checkpointing cyrus databases
    Sep 16 15:43:36 mail ctl_cyrusdb[68432]: done checkpointing cyrus databases
    Sep 16 15:44:01 mail sudo[68459]: root : TTY=unknown ; PWD=/ ; USER=_cyrus ; COMMAND=/usr/bin/cyrus/bin/cyrus-quota -r
    This is what is written to the crash report:
    $ cat perl2009-09-16-145012Buzz-Lightyear.crash
    Process: perl [2230]
    Path: /usr/bin/perl
    Identifier: perl
    Version: ??? (???)
    Code Type: X86 (Native)
    Parent Process: launchd [1]
    Date/Time: 2009-09-16 14:50:12.683 +0200
    OS Version: Mac OS X Server 10.5.8 (9L34)
    Report Version: 6
    Anonymous UUID: 351B0AD5-FE9F-4556-A043-7FE8E4595D06
    Exception Type: EXC_BREAKPOINT (SIGTRAP)
    Exception Codes: 0x0000000000000002, 0x0000000000000000
    Crashed Thread: 0
    Dyld Error Message:
    Symbol not found: dbversion
    Referenced from: /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/BerkeleyDB/BerkeleyDB.bundl e
    Expected in: dynamic lookup
    I don't expect it to be of help in this case, but here is my postconf for completeness.
    $ postconf -n
    always_bcc = [email protected]
    command_directory = /usr/sbin
    config_directory = /etc/postfix
    content_filter =
    daemon_directory = /usr/libexec/postfix
    debugpeerlevel = 2
    enableserveroptions = yes
    html_directory = no
    inet_interfaces = all
    localrecipientmaps = proxy:unix:passwd.byname $alias_maps
    mail_owner = _postfix
    mailboxsizelimit = 0
    mailbox_transport = cyrus
    mailq_path = /usr/bin/mailq
    manpage_directory = /usr/share/man
    mapsrbldomains =
    messagesizelimit = 20971520
    mydomain = mail.raiffeisenzeitung.at
    mydomain_fallback = localhost
    myhostname = mail.raiffeisenzeitung.at
    mynetworks = 127.0.0.1/32
    newaliases_path = /usr/bin/newaliases
    queue_directory = /private/var/spool/postfix
    readme_directory = /usr/share/doc/postfix
    relayhost =
    sample_directory = /usr/share/doc/postfix/examples
    sendmail_path = /usr/sbin/sendmail
    setgid_group = _postdrop
    smtpdclientrestrictions = permit_mynetworks rejectrblclient zen.spamhaus.org rejectrblclient ix.dnsbl.manitu.net permit
    smtpdenforcetls = no
    smtpdpw_server_securityoptions = gssapi,cram-md5
    smtpdrecipientrestrictions = permitsasl_authenticated,permit_mynetworks,hash:/etc/postfix/rejects,reject_unauth_des tination,reject_unlistedrecipient,permit
    smtpdsasl_authenable = yes
    smtpdtls_certfile = /etc/certificates/mail.raiffeisenzeitung.at.crt
    smtpdtls_keyfile = /etc/certificates/mail.raiffeisenzeitung.at.key
    smtpduse_pwserver = yes
    smtpdusetls = yes
    tlsrandomsource = dev:/dev/urandom
    unknownlocal_recipient_rejectcode = 550
    virtualaliasdomains = hash:/etc/postfix/virtual_domains
    virtualaliasmaps = hash:/etc/postfix/virtual
    virtualmailboxdomains = hash:/etc/postfix/virtualdomainsdummy
    virtual_transport = lmtp:unix:/var/imap/socket/lmtp

    Hi Alex,
    thanks for chiming in!
    I'm quite confident, that nobody installed BerkeleyDB at 2am on that server. Neither on purpose nor accidentally.
    Just for the record… the usual suspects have be checked as well:
    I've checked the filesystem, and it seems to be ok.
    I've repaired privileges, and they seem to be ok.
    I've used mailbfr to rebuild each and every mailbox. (-m)
    I've used mailbfr to repair mail system privs and quota. (-o, -q)
    The system has plenty of freespace on all drives.
    Additional info about the current behavior:
    I've turned off virus and spam filtering for the moment. Mails can be sent and do get delivered for all the accounts I've tested. The ones that are already in the queue do not get delivered. I've even tried to manually flush the queue, though postfix usually never needs that and know best when to do what. Anyway it didn't convince postfix to deliver the queued mails.
    From the logs I can see that cyrus complains about a critical database condition in
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR db4: Log sequence error: page LSN 1 3679; previous LSN 10 7846960
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR db4: Recovery function for LSN 1 3308 failed on forward pass
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR db4: PANIC: Invalid argument
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR: critical database situation
    Sep 16 20:49:47 mail idled[39372]: cleaning up corrupted database files in: /var/imap/db
    These problems persist after a server restart.
    Log Details when I try to activate Spam or virus filtering again:
    Sep 16 21:19:30 mail org.amavis.amavisd[1278]: Referenced from: /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/BerkeleyDB/BerkeleyDB.bundl e
    Sep 16 21:19:30 mail org.amavis.amavisd[1278]: Expected in: dynamic lookup
    Sep 16 21:19:31 mail ReportCrash[1292]: Formulating crash report for process perl[1278]
    Sep 16 21:19:31 mail ReportCrash[1292]: Saved crashreport to /Library/Logs/CrashReporter/perl2009-09-16-211931Buzz-Lightyear.crash using uid: 0 gid: 0, euid: 0 egid: 0
    Sep 16 21:19:31 mail com.apple.launchd[1] (org.amavis.amavisd[1278]): Exited abnormally: Trace/BPT trap
    Sep 16 21:19:31 mail org.amavis.amavisd[1294]: dyld: lazy symbol binding failed: Symbol not found: dbversion
    Sep 16 21:19:31 mail org.amavis.amavisd[1294]: Referenced from: /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/BerkeleyDB/BerkeleyDB.bundl e
    Sep 16 21:19:31 mail org.amavis.amavisd[1294]: Expected in: dynamic lookup
    Sep 16 21:19:31 mail org.amavis.amavisd[1294]: dyld: Symbol not found: dbversion
    Sep 16 21:19:31 mail org.amavis.amavisd[1294]: Referenced from: /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/BerkeleyDB/BerkeleyDB.bundl e
    Sep 16 21:19:31 mail org.amavis.amavisd[1294]: Expected in: dynamic lookup
    Sep 16 21:19:31 mail ReportCrash[1292]: Formulating crash report for process perl[1294]
    Sep 16 21:19:31 mail ReportCrash[1292]: Saved crashreport to /Library/Logs/CrashReporter/perl2009-09-16-211931Buzz-Lightyear.crash using uid: 0 gid: 0, euid: 0 egid: 0
    Sep 16 21:19:31 mail com.apple.launchd[1] (org.amavis.amavisd[1294]): Exited abnormally: Trace/BPT trap
    Sep 16 21:19:31 mail com.apple.launchd[1] (org.amavis.amavisd): Throttling respawn: Will start in 10 seconds
    Sep 16 21:19:34 mail org.clamav.clamd[1204]: Pid file removed.
    Sep 16 21:19:34 mail org.clamav.clamd[1204]: --- Stopped at Wed Sep 16 21:19:34 2009
    Sep 16 21:19:34 mail org.clamav.clamd[1204]: Socket file removed.
    I've already rebuilt amavisd-new 2.6.4 and ClamAV 0.95.2 (with your extras) then rebootet. As expected, the cyrus problems remain. Perl is still crashing as soon as amavisd or ClamAV shall start. Mail delivery directly to cyrus without filtering seems to work fine at the moment. Queued mails stay where they are and do not get delivered.
    Log and status output:
    This is what CPAN tells me about the installed Perl BerkeleyDB Module:
    CPAN: Storable loaded ok (v2.15)
    Going to read '/Users/radmin/.cpan/Metadata'
    Database was generated on Wed, 16 Sep 2009 07:31:39 GMT
    Module id = BerkeleyDB
    DESCRIPTION Interface to Berkeley DB version 2, 3 or 4
    CPAN_USERID PMQS (Paul Marquess <[email protected]>)
    CPAN_VERSION 0.39
    CPAN_FILE P/PM/PMQS/BerkeleyDB-0.39.tar.gz
    UPLOAD_DATE 2009-06-06
    DSLIP_STATUS RdcOp (released,developer,C,object-oriented,Standard-Perl)
    MANPAGE BerkeleyDB - Perl extension for Berkeley DB version 2, 3 or 4
    INST_FILE /Library/Perl/5.8.8/darwin-thread-multi-2level/BerkeleyDB.pm
    INST_VERSION 0.39
    This happens when I start the mail system with spam and virus filtering turned off:
    Sep 16 20:49:37 mail com.apple.launchd[1] (org.postfix.master[35692]): Exited: Terminated
    Sep 16 20:49:37 mail postfix/postfix-script[39262]: fatal: the Postfix mail system is not running
    Sep 16 20:49:40 mail net.clamav.clamd[35631]: Pid file removed.
    Sep 16 20:49:40 mail net.clamav.clamd[35631]: --- Stopped at Wed Sep 16 20:49:40 2009
    Sep 16 20:49:40 mail net.clamav.clamd[35631]: Socket file removed.
    Sep 16 20:49:40 mail com.apple.launchd[1] (edu.cmu.andrew.cyrus.master[35710]): Stray process with PGID equal to this dead job: PID 38979 PPID 1 imapd
    Sep 16 20:49:41 mail master[39317]: process started
    Sep 16 20:49:41 mail postfix/postfix-script[39322]: fatal: the Postfix mail system is not running
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Limits: Global size limit set to 20971520 bytes.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Limits: File size limit set to 15728640 bytes.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Limits: Recursion level limit set to 10.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Limits: Files limit set to 1500.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Archive support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Algorithmic detection enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Portable Executable support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: ELF support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Detection of broken executables enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Mail files support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: OLE2 support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: PDF support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: HTML support enabled.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Self checking every 600 seconds.
    Sep 16 20:49:41 mail net.clamav.clamd[39308]: Set stacksize to 1048576
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR db4: Log sequence error: page LSN 1 3679; previous LSN 10 7846960
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR db4: Recovery function for LSN 1 3308 failed on forward pass
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR db4: PANIC: Invalid argument
    Sep 16 20:49:41 mail ctl_cyrusdb[39320]: DBERROR: critical database situation
    Sep 16 20:49:47 mail master[39317]: process 39320 exited, status 75
    Sep 16 20:49:47 mail idled[39372]: cleaning up corrupted database files in: /var/imap/db
    Sep 16 20:49:47 mail idled[39372]: ----: removed file: __db.001
    Sep 16 20:49:47 mail idled[39372]: ----: removed file: __db.002
    Sep 16 20:49:47 mail idled[39372]: ----: removed file: __db.003
    Sep 16 20:49:47 mail idled[39372]: ----: removed file: __db.004
    Sep 16 20:49:47 mail idled[39372]: ----: removed file: __db.005
    Sep 16 20:49:47 mail idled[39372]: ----: removed file: log.0000000001
    Sep 16 20:49:47 mail master[39317]: Cyrus POP/IMAP Server v2.3.8 ready for work
    Sep 16 20:49:47 mail ctl_cyrusdb[39374]: checkpointing cyrus databases
    Sep 16 20:49:47 mail ctl_cyrusdb[39374]: done checkpointing cyrus databases
    Should I try to use mailbfr -f (and get about 900.000 unread mails)? If there is nothing else I can do to fix this, I'll do it. It takes what it takes.
    Thanks
    Best regards
    Pepi

  • How to call a perl script from an apple script

    Hi All,
    How to Call a perl Script from an apple script.
    Pls Give Your comments.
    Thanx & Regards,
    Esther

    Applescript to call a perl script named "/tmp/x.pl" passing an argument "world"
    do shell script "/usr/bin/perl /tmp/x.pl world"
    or if the script is given the executable atttribute (chmod +x /tmp/x.pl),
    do shell script "/tmp/x.pl world"
    Perl script "/tmp/x.pl" that prints a string using a passed argument
    #!/usr/bin/perl
    print "Hello $ARGV[$1]\n";

  • How to call a perl module from Java program.

    Hi,
    I create a simple java program as follows
    class test{
    public static void main(String args[])
    {try {                    
    Runtime r = Runtime.getRuntime();
    r.exec("perl test.pl");
    catch(Exception e)
    {e.printStackTrace();}
    and test.pl is located in the same directory as the java program. The program compiles but with no return as I execute it. I am not sure what is wrong.
    Thanks,

    I think the wrong line is here; r.exec("perl test.pl");
    Usually the JVM needs the full path.If the path for either the executable or the script was wrong then, given the code posted, it would not hang.
    >
    To automatticaly get the path (if the file is in the
    class path) use
    System.getProperty("java.class.path")
    That gets paths(plural).
    Try this:
    r.exec("perl " +
    System.getProperty("java.class.path") + "\test.pl");I am rather certain that that won't work on any standard operating system.

  • Getting the output from a Perl script using Runtime.exec

    I cannot get the output from a perl script using Java. Can someone PLEASE help?
    I used the following code:
    Process p = Runtime.getRuntime().exec("C:\\Perl\\bin\\Perl.exe script.pl) ;
    InputSream in = p.getInputStream();
    b...
    do
    System.out.println(b);
    while ((b = in.read()) > 0)
    But there is no way that I get the output in the inputstream. If I use the command "cmd script.pl", the output is displayed in the Dos box, but also not in the inputstream.
    I will appreciate any help.

    Try this
    Process p = Runtime.getRuntime().exec("C:\\Perl\\bin\\Perl.exe script.pl) ;
    BufferedReader rd = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String str;
    while((str=rd.readLine())!=null){
    System.out.println(str);
    Manu

  • ITunes cannot read ID3 tags written by Perl module MP3::Tag?

    Greetings,
    Just trying to re-arrange ID3 information in a large set of MP3 files. Before I run the following Perl script, iTunes can read the ID3 tagging information. After writing ID3 inform ation to the MP3, iTunes no longer reads any tagging information from the MP3.
    Does anyone have any information regarding this? There is some cryptic information in the MP3::Tag POD regarding setting the "id3v23_unsync" option but that doesn't seem to alter the impact on iTunes at all. Windows and other tag readers seem to be able to read the all ID 3v1 and ID3v2 tags just fine (including the altered fields) after running the following script.
    Thanks for any suggestions/guidance anyone can provide.
    Description: the following program takes an MP3 filename as input.
    Action: It appends the value in the Album field to front of the TITLE Field. That's it! Easy!
    #!/usr/bin/perl -w
    use MP3::Tag;
    MP3::Tag-> config(id3v23_unsync=>FALSE);
    my $filename = $ARGV[0];
    $mp3 = MP3::Tag-> new($filename);
    @info=$mp3-> autoinfo;
    @albnum = split(/_/, $info[3]);
    $frame = $mp3-> {ID3v2}->get_frame("TIT2");
    print $frame;
    $mp3-> {ID3v1}->title("$albnum[0] $info[0]");
    $mp3-> {ID3v2}->change_frame("TIT2","$albnum[0] $info[0]");
    $mp3-> {ID3v1}->write_tag();
    $mp3-> {ID3v2}->write_tag();
    @info=$mp3-> autoinfo;
    print $info[0]; //print ID3v1 TITLE field
    $frame = $mp3-> {ID3v2}->get_frame("TIT2");
    print $frame; //print ID3v2 Title2 field
    $mp3-> close();
    Thanks!
    GL
      Windows XP  

    SOLVED
    Changing the config entry (Line 3 in original listing) to:
    MP3::Tag->config("id3v23_unsync",0);
    fixed the problem with iTunes.
    NOTE: This means that iTunes version 7.x still has the synchronization problem alluded to in the documentation (POD) for this Perl module. I just had the syntax wrong to set the workaround parameter.
    That aside, iTunes 7.2 works quite nicely with the modified MP3. Artwork (even though this was a modified and obscure (and legal) Bible audio, it found additional information about the MP3 in the online database).
    Kind Regards,
    GL
      Windows XP  

  • Error while running  perl adpreclone.pl dbTier

    Hi all,
    Error while running perl adpreclone.pl dbTier
    Running Rapid Clone with command...
    perl /u02/app/orap/product/9.2.0/appsutil/bin/adclone.pl java=/u02/app/orap/product/9.2.0/jre/1.4.2 mode=stage stage=/u02/app/orap/product/9.2.0/appsutil/clone component=dbTier method=CUSTOM dbctx=/u02/app/orap/product/9.2.0/appsutil/DEV_XXX.xml showProgress
    Beginning database tier Stage - Fri Jun 26 12:16:45 2009
    APPS Password : appsdev
    Log file located at /u02/app/orap/product/9.2.0/appsutil/log/DEV_jos11/StageDBTier_06261216.log
    / 75% completed
    RC-50409: Topology information required for cloning not found in the database. Make sure that AutoConfig was run successfully prior to starting Rapid Clone, and try again
    Raised by oracle.apps.ad.tools.AdCreateCtlFile
    RC-40001: Fatal: Failed to create sql script adcrdbclone.sql for recreating control files at target
    - 75% completed
    ERROR while running Stage...
    Checked metalink found the below solution but please the me interconnect_name is what ?
    Check if the column interconnect_name from the fnd_database_instances has a value. If not, please update it with the correct value:
    update FND_DATABASE_INSTANCES
    set INTERCONNECT_NAME = 'xxx';
    commit;
    Rerun the process.
    Thanks,
    Bhanu Chander.

    Hi,
    Alert log is normal.
    but adcfgclone.pl log is
    /u02/app/orap/product/9.2.0/appsutil/out/DEV_XXXX/dbfinfo.lst created Successfully.
    Generating /u02/app/orap/product/9.2.0/appsutil/out/DEV_XXXX/addbhomsrc.xml which will contain the unique mount points
    NODE_ID Column Availability: true
    Node Id Column is available. dbfinfo.lst will contain the node list
    Host Column Availability: true
    Exception occurred while querying the datamodel: java.lang.NullPointerException
    StackTrace:
    java.lang.NullPointerException
    at java.util.Hashtable.put(Hashtable.java:393)
    at oracle.apps.ad.tools.AdCreateCtlFile.get_rac_data(AdCreateCtlFile.java:1325)
    at oracle.apps.ad.tools.AdCreateCtlFile.gen_dbhomes_xml(AdCreateCtlFile.java:530)
    at oracle.apps.ad.tools.AdCreateCtlFile.gen_crctrfclone_sql(AdCreateCtlFile.java:626)
    at oracle.apps.ad.tools.AdCreateCtlFile.<init>(AdCreateCtlFile.java:428)
    at oracle.apps.ad.clone.StageDatabase.doStage(StageDatabase.java:457)
    at oracle.apps.ad.clone.StageDatabase.<init>(StageDatabase.java:266)
    at oracle.apps.ad.clone.StageDBTier.<init>(StageDBTier.java:216)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
    at java.lang.Thread.run(Thread.java:534)
    RC-50409: Topology information required for cloning not found in the database. Make sure that AutoConfig was run successfully prior to starting Rapid Clone, and try again
    Raised by oracle.apps.ad.tools.AdCreateCtlFile
    RC-50208: Exception in method gen_crctrfclone_sql
    RC-50208: Exception in Constructor AdCreateCtlFile
    Raised by oracle.apps.ad.tools.AdCreateCtlFile
    StackTrace:
    java.lang.Exception
    at oracle.apps.ad.tools.AdCreateCtlFile.get_rac_data(AdCreateCtlFile.java:1348)
    at oracle.apps.ad.tools.AdCreateCtlFile.gen_dbhomes_xml(AdCreateCtlFile.java:530)
    at oracle.apps.ad.tools.AdCreateCtlFile.gen_crctrfclone_sql(AdCreateCtlFile.java:626)
    at oracle.apps.ad.tools.AdCreateCtlFile.<init>(AdCreateCtlFile.java:428)
    at oracle.apps.ad.clone.StageDatabase.doStage(StageDatabase.java:457)
    at oracle.apps.ad.clone.StageDatabase.<init>(StageDatabase.java:266)
    at oracle.apps.ad.clone.StageDBTier.<init>(StageDBTier.java:216)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
    at java.lang.Thread.run(Thread.java:534)
    RC-40001: Failed to create sql script adcrdbclone.sql for recreating control files at target
    Raised by oracle.apps.ad.clone.StageDatabase
    Thanks,
    Bhanu Chander

Maybe you are looking for