I have fixed all compilation error now. There are the tokens and other base urls reading from the config.properties. Please suggest if anything wrong.
#!/usr/bin/env perl package Op; use strict; use warnings; use Win32::Process; use REST::Client; use JSON::Parse ':all'; use MIME::Base64; use Term::ReadKey; use Data::Dumper; use MIME::Lite; use Net::SMTP; use Spreadsheet::XLSX; use Spreadsheet::ParseXLSX; use Excel::Writer::XLSX; use Config::Properties; use Data::Dumper; use List::Compare; use Array::Compare; use Storable qw/freeze/; use Data::Validate::IP; use Data::Table::Excel; use Excel::Writer::XLSX::Chart; use Win32::OLE::Const; use Spreadsheet::WriteExcel::Utility qw( xl_range_formula ); use Win32::OLE; use POSIX 'strftime'; use POSIX qw(strftime); use DateTime; use DateTime::Format::Strptime; use Try::Tiny; use feature qw{ say }; open my $fh, '<', "C:/PERL/" . "config.properties" or die "unable to o +pen configuration file"; my $properties = Config::Properties->new(); $properties->load($fh); my $value = $properties->getProperty('dev.token'); my $baseurl = $properties->getProperty('dev.baseURL'); my $from_address = 'chandan@aol.com'; my $to_address = 'chandan@bol.com'; my $subject = 'A message with 2 parts ...'; my $my_file_zip = 'C://PERL//'; my $mail_host = 'mail.aol.com'; my $pass = '1234567'; sub result { my ($args) = @_; my $appID = $args->{APPID}; my $datver = $args->{datetime}; my $email = $args->{Email}; my $date = strftime '%Y-%m-%d-%H-%M-%S', localtime; my $date3 = strftime '%Y-%m-%d' , localtime(time() - $datver*60*60 +); my $date4 = strftime '%Y-%m-%d' , localtime(time() - 24*60*60); my $apiurllog = $baseurl ."/users/sys/logs?"; my $client = REST::Client->new(); my @responsetext; my @responsetextall; my $sortor = "filter=eventType+eq+%22"; my $filter = "all.auth.sso"; my @responsalter; my $target = "%22+and+to.id+eq+%22"; my $strExcelFilename; my %header1 = ( -size => 10, ); sub api_call { $client->addHeader('Authorization',"SSWS $value"); $client->addHeader('Accept','application/json'); $client->addHeader('Content-type','application/json'); $client->GET($_[0]); } my $date2 = "%22&since=" . $date3 . "T00%3A00%3A00.000-04%3A00&until=" + . $date4 . "T23%3A59%3A59.000-04%3A00"; my $urlstringlog = $apiurllog . $sortor . $filter . $target . $appID . + $date2; $strExcelFilename = "C:/PERL/" . "My-File" . $date . ".xlsx"; my $your_file_zip = "My-File . $date . '.xlsx'"; run_api_call($urlstringlog); @responsetext = parse_json ($client->responseContent()); push @responsetextall, @responsetext; for my $i (0..$#responsetextall) { for my $j (0..$#{$responsetextall[$i]}) { my $responseid = $responsetextall[$i][$j]{act}{UID}; my $responsdisp = $responsetextall[$i][$j]{act}{Name}; push @responsalter, $responseid ; } } my $workbook = Excel::Writer::XLSX->new( $strExcelFilename ); my $format_bold = $workbook->add_format( bold => 1, size => 10, top=> +1, bottom=> 1 ); my $format2 = $workbook->add_format(%header1); my $worksheet = $workbook->add_worksheet('UserSSO-Data'); my $r = 1; my $r2 = 1; my $r3 = 1; foreach my $j (0..$#responsalter ) { $worksheet->write(0, 0, 'UserSSO-Total +-Users' ); $worksheet->write($r2, 0, $responsalter[$j]); $r2 += 1; } $workbook->close; print "Spreadsheet saved.\n"; ## Mail Functionality my $msg = MIME::Lite->new ( From => $from_address, To => $to_address, Subject => $subject, Type =>'multipart/mixed' ) or die "Error creating multipart container: $!\n"; $msg->attach ( Type => 'text/csv', Encoding => 'base64', Path => $my_file_zip, Filename => $your_file_zip, Disposition => 'attachment' ) or die "Error adding $your_file_zip: $!\n"; MIME::Lite->send('smtp', $mail_host, Timeout=>60,Auth=>'LOGIN',AuthUs +er=>$from_address,AuthPass=>$pass,Port => 25, Debug => 1); } __PACKAGE__
I am getting below error now
Undefined subroutine &Op::run_api_call called at C:/Users/chandan/Docu +ments/Perl/webapp/bin/../lib/Op1.pm line 86. C:/Users/chandan/Documents/Perl/webapp/bin/../lib/Op1.pm line 86 81 82 $strExcelFilename = "C:/PERL/" . "My-File" . $date . ".xlsx"; 83 84 my $your_file_zip = "My-File . $date . '.xlsx'"; 85 86 run_api_call($urlstringlog); 87 @responsetext = parse_json ($client->responseContent()); 88 push @responsetextall, @responsetext; 89 90 for my $i (0..$#responsetextall) {
In reply to Re^4: Need to know the process to implement perl script into web application server.
by chandantul
in thread Need to know the process to implement perl script into web application server.
by chandantul
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |