02-08-2008
Getting warning in the Perl Script
Hello All,
I have written the below perl script:
#!/usr/bin/perl
use strict;
use warnings;
if ($#ARGV != 2) {
print "usage: merge_eod AP_filename IE_filename \n";
exit;
}
my($trg) = ".trg";
my($output_file) = $ARGV[2];
my($ie_file) = $ARGV[1];
my($ap_file) = $ARGV[0];
my($trg_file) = $output_file . $trg;
open(OF, ">$output_file");
open(IEF, $ie_file);
open(APF, $ap_file);
open(TF, ">$trg_file");
my $ie_line = <IEF>;
my $ie_total = substr($ie_line, 12, 10);
my $ap_line = <APF>;
my $ap_total = substr($ap_line, 12, 10);
if ($ap_total & $ie_total){
my $merge_total = sprintf("%010d", $ap_total + $ie_total);
$ie_line =~ s/$ie_total/$merge_total/;
print OF $ie_line;
}
close(APF);
close(IEF);
close(TF);
close(OF);
and getting the following warning:
Argument "c c c c c " isn't numeric in addition (+) at ./merge_eod.pl line 29, <APF> line 1.
Argument "a a a a a " isn't numeric in addition (+) at ./merge_eod.pl line 29, <APF> line 1.
Any help will be highly appreciated
Cheers,
Pulkit
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Here is my perl Program:
#!/usr/bin/perl -w
my $a="sam";
my $b="ste";
my $c="abcdef";
my $d=931;
$str="
@<<<<< @>>>>>>>>>> @|||||||||||||||||||| @#########
\$a,\$b,\$c,\$d
.";
open(FILE,">abc.txt");
$temp="format FILE = $str";
eval $temp;
write FILE;
print FILE "\n\n"; (3 Replies)
Discussion started by: sameerstephen
3 Replies
2. Shell Programming and Scripting
Hello All,
I am facing a warning "Argument "" isn't numeric in localtime at"
what i m using is below
my $timestamp = Timestamp(time);
go_log("###############$timestamp###############");
can some one please suggest the way to avoid this message :confused: (6 Replies)
Discussion started by: NIMISH AGARWAL
6 Replies
3. Shell Programming and Scripting
How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ?
Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies
4. Shell Programming and Scripting
Hi I am brand new to perl and I wrote following code.
#!/usr/bin/perl
use warnings;
while (<>) {
@arr1 = split(//);
$i = 0;
foreach (@arr1) {
$_ = $arr1;
@arr2 = ($arr1,$arr1,$arr1);
print "@arr2\n"; (1 Reply)
Discussion started by: polsum
1 Replies
5. Shell Programming and Scripting
I am trying to run a perl script which needs input arguments from a parent perl script, but doesn't seem to work. Appreciate your help in this regard.
From parent.pl
$input1=123;
$input2=abc;
I tried calling it with
system("/usr/bin/perl child.pl $input1 $input2");
and
`perl... (1 Reply)
Discussion started by: grajp002
1 Replies
6. Shell Programming and Scripting
Hi Folks,
I have 2 perl scripts and I need to execute 2nd perl script from the 1st perl script in WINDOWS.
In the 1st perl script that I had, I am calling the 2nd script
main.pl
===========
print "This is my main script\n";
`perl C:\\Users\\sripathg\\Desktop\\scripts\\hi.pl`;
... (3 Replies)
Discussion started by: giridhar276
3 Replies
7. Shell Programming and Scripting
Hi All,
I am aware that html tags can be embedded in cgi script as below.. In the same way is it possible to embed the below javascript in perl cgi script ??
print("<form action="action.htm" method="post" onSubmit="return submitForm(this.Submitbutton)">");
print("<input type = "text"... (1 Reply)
Discussion started by: scriptscript
1 Replies
8. Shell Programming and Scripting
Not sure what I am doing wrong here, but I can print the list with no issue. Just a blank screen with the 'do'.
#!/usr/bin/perl
open FILE, "upslist.txt";
while ($line=<FILE>){
if ($line=~/^(.*?),(.*?)$/){
#print "ups:$1 string:$2\n";
do 'check_snmp_mgeups-0.1.pl -H $1 -C $2';
} ... (1 Reply)
Discussion started by: mrlayance
1 Replies
9. AIX
This's my problem
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = "en_US.UTF-8",
LC__FASTMSG = "true",
LC_MESSAGES = "",
LC_CTYPE = "en_US.UTF-8",
LC_TYPE = "en_US.UTF-8",
LANG = "EN_US"... (1 Reply)
Discussion started by: bobochacha29
1 Replies
10. Programming
I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open())
I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
LEARN ABOUT REDHAT
findbin
FindBin(3pm) Perl Programmers Reference Guide FindBin(3pm)
NAME
FindBin - Locate directory of original perl script
SYNOPSIS
use FindBin;
use lib "$FindBin::Bin/../lib";
or
use FindBin qw($Bin);
use lib "$Bin/../lib";
DESCRIPTION
Locates the full path to the script bin directory to allow the use of paths relative to the bin directory.
This allows a user to setup a directory tree for some software with directories <root>/bin and <root>/lib and then the above example will
allow the use of modules in the lib directory without knowing where the software tree is installed.
If perl is invoked using the -e option or the perl script is read from "STDIN" then FindBin sets both $Bin and $RealBin to the current
directory.
EXPORTABLE VARIABLES
$Bin - path to bin directory from where script was invoked
$Script - basename of script from which perl was invoked
$RealBin - $Bin with all links resolved
$RealScript - $Script with all links resolved
KNOWN ISSUES
If there are two modules using "FindBin" from different directories under the same interpreter, this won't work. Since "FindBin" uses
"BEGIN" block, it'll be executed only once, and only the first caller will get it right. This is a problem under mod_perl and other persis-
tent Perl environments, where you shouldn't use this module. Which also means that you should avoid using "FindBin" in modules that you
plan to put on CPAN. The only way to make sure that "FindBin" will work is to force the "BEGIN" block to be executed again:
delete $INC{'FindBin.pm'};
require FindBin;
KNOWN BUGS
If perl is invoked as
perl filename
and filename does not have executable rights and a program called filename exists in the users $ENV{PATH} which satisfies both -x and -T
then FindBin assumes that it was invoked via the $ENV{PATH}.
Workaround is to invoke perl as
perl ./filename
AUTHORS
FindBin is supported as part of the core perl distribution. Please send bug reports to <perlbug@perl.org> using the perlbug program
included with perl.
Graham Barr <gbarr@pobox.com> Nick Ing-Simmons <nik@tiuk.ti.com>
COPYRIGHT
Copyright (c) 1995 Graham Barr & Nick Ing-Simmons. All rights reserved. This program is free software; you can redistribute it and/or mod-
ify it under the same terms as Perl itself.
perl v5.8.0 2002-06-01 FindBin(3pm)