Sponsored Content
Full Discussion: PERL script problem
Top Forums Shell Programming and Scripting PERL script problem Post 302125689 by drl on Friday 6th of July 2007 10:28:43 AM
Old 07-06-2007
Hi, cbkihong.

An aside.
Quote:
Originally Posted by cbkihong
Perl doesn't have the foreach() loop syntax like that, I think. It looks more like Javascript or PHP than Perl. I guess you should try to quote any error messages if any, and indicate which line the error exists. The segment you posted does not appear to be a correct Perl program.
I thought so at first also, so I wrote a short script to see what happened:
Code:
#!/usr/bin/perl

# @(#) perl-basic       Template for common usage.

# use warnings;
# use strict;

my($debug);
$debug = 0;
$debug = 1;

my(@a) = qw/ a b c d e /;
my($a) = @a;

foreach my $i ( in $a ) {
        print " i is :$i:\n";
}

exit(0);

which produced:
Code:
% ./p1
Can't locate object method "in" via package "a" (perhaps you forgot to load "a"?) at ./p1 line 15.

That seems to be something to do with the OO features of perl, with which I am not sufficiently familiar to be able to provide an explanation. I perused Schwartz' Intermediate perl, but found nothing on-point so far.

I think we both looked at this and saw a corruption of the foreach with syntax from some other language. However, almost anything seems to be legal in perl. So, at least from my perspective, I was led to the wrong conclusion by assuming a syntax infraction.

Even if one enables strict and warnings, the same message is produced ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl script strange problem

Hi All, I have one strange problem in perl script. Bellow is the contents of the script i am trying to write: #!/usr/local/bin/perl my $module_list = ''; my @running_module; my $count=0; my $flag=0; my $ccprojecthome=$ENV{CCPROJECTHOME}; @module_list = `cat... (2 Replies)
Discussion started by: vaibhav
2 Replies

2. Shell Programming and Scripting

call shell script from perl cgi script problem

hi,, i have perl scipt with line : system('./try.sh $t $d $m'); in shell scipt try.sh i have the line: echo $1 its not printing value of $t that i hav passed..y is it so..i am running it from apache web server (2 Replies)
Discussion started by: raksha.s
2 Replies

3. Shell Programming and Scripting

problem in perl script

Hi, Here is my piece of code. #!/usr/bin/perl my $logFile = $ARGV; die "usage: $0 <logFile>" unless $logFile; die "Logfile $logFile doesn't exist" unless -f "$logFile"; my %no_of_questions; my %timestamp; open (FP,"<$logFile") or die "unable to open file $!" ; @records=<FP>;... (4 Replies)
Discussion started by: namishtiwari
4 Replies

4. Shell Programming and Scripting

Problem in a perl script

Hi All I have to modify a existing perl script The context of the input txt file has changed Basically I have to remove 4 lines from the top of the file and print a number Of fields into another file and feed the out put back into the script. Now I’m doing this part manually ... (1 Reply)
Discussion started by: Ex-Capsa
1 Replies

5. HP-UX

perl script problem.

I test this perl script on hpux 11.x and everything is OK, on hpux 10.20 it doesn't work perl -e 'local($PSTAT,$PSTAT_STATIC,$mem_info,$PSTAT_STRUCT)=(239,2,"\0"x120,"LI4L"); syscall($PSTAT,$PSTAT_STATIC,$mem_info,length($mem_info),1,0); print... (1 Reply)
Discussion started by: netfinity
1 Replies

6. Shell Programming and Scripting

Perl Script Problem

Hi Perl Gurus, I have a very simple problem. This command perfectly runs in Unix Shell: dlv_mng@hpp309:/delivery/dlv/dlv/dlv_mng> echo 7.5.1.2.25 | sed -n 's^\(.\).\(.\).\(.*\).\(.*\).\(.*\)^\1.\2^p' 7.5 However, when I run this inside a perl script, it fails. ... (1 Reply)
Discussion started by: som.nitk
1 Replies

7. AIX

Perl Script Problem

Hi! I'm having a problem on AIX 5.3 I cant' seem to sort out. A Perl script that was working has stopped for some reason. Possibly and update or something seems to have broken it. The error is below and any help would be appreciated! Can't load... (2 Replies)
Discussion started by: eth0
2 Replies

8. Programming

Perl script problem

I made a perl script that will number the lines of program scripts with an extension asked by the user and will save them into a .txt file My problem with the code is that for some reason it skips about every second line Im currently using ms win7 with strawberry perl heres the code so far... (0 Replies)
Discussion started by: ejok
0 Replies

9. Web Development

problem with exporting vairable from one perl cgi to another perl cgi script while redirecting.

Can anyone tell me how to export a variable from one perl CGI script to another perl cgi script when using a redirect. Upon running the login.pl the user is prompted to enter user name and password. Upon entering the correct credentials (admin/admin) the user is redirected to welcome page. My... (3 Replies)
Discussion started by: Arun_Linux
3 Replies

10. Programming

Problem with my perl script

hiii alll i wrote a prgm which would take position and strand from file 1 and tries to locate a string 250 characters ahead/before that position in anothe file (based on strand 0 or 1) open my $fhConditions, "<", "1.txt" or die "Epic Fail: $!"; open my $fhCharacters, "<", "2.txt" or die "OMG... (1 Reply)
Discussion started by: anurupa777
1 Replies
TAP::Parser::Source::Perl(3pm)				 Perl Programmers Reference Guide			    TAP::Parser::Source::Perl(3pm)

NAME
TAP::Parser::Source::Perl - Stream Perl output VERSION
Version 3.17 SYNOPSIS
use TAP::Parser::Source::Perl; my $perl = TAP::Parser::Source::Perl->new; my $stream = $perl->source( [ $filename, @args ] )->get_stream; DESCRIPTION
Takes a filename and hopefully returns a stream from it. The filename should be the name of a Perl program. Note that this is a subclass of TAP::Parser::Source. See that module for more methods. METHODS
Class Methods "new" my $perl = TAP::Parser::Source::Perl->new; Returns a new "TAP::Parser::Source::Perl" object. Instance Methods "source" Getter/setter the name of the test program and any arguments it requires. my ($filename, @args) = @{ $perl->source }; $perl->source( [ $filename, @args ] ); "croak"s if $filename could not be found. "switches" my $switches = $perl->switches; my @switches = $perl->switches; $perl->switches( @switches ); Getter/setter for the additional switches to pass to the perl executable. One common switch would be to set an include directory: $perl->switches( ['-Ilib'] ); "get_stream" my $stream = $source->get_stream($parser); Returns a stream of the output generated by executing "source". Must be passed an object that implements a "make_iterator" method. Typically this is a TAP::Parser instance. "shebang" Get the shebang line for a script file. my $shebang = TAP::Parser::Source::Perl->shebang( $some_script ); May be called as a class method "get_taint" Decode any taint switches from a Perl shebang line. # $taint will be 't' my $taint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl -t' ); # $untaint will be undefined my $untaint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl' ); SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. Example package MyPerlSource; use strict; use vars '@ISA'; use Carp qw( croak ); use TAP::Parser::Source::Perl; @ISA = qw( TAP::Parser::Source::Perl ); sub source { my ($self, $args) = @_; if ($args) { $self->{file} = $args->[0]; return $self->SUPER::source($args); } return $self->SUPER::source; } # use the version of perl from the shebang line in the test file sub _get_perl { my $self = shift; if (my $shebang = $self->shebang( $self->{file} )) { $shebang =~ /^#!(.*perl.*?)(?:(?:s)|(?:$))/; return $1 if $1; } return $self->SUPER::_get_perl(@_); } SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Source, perl v5.12.5 2012-11-03 TAP::Parser::Source::Perl(3pm)
All times are GMT -4. The time now is 04:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy