The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
Google UNIX.COM


UNIX for Advanced & Expert Users Advanced UNIX and Linux questions go here. Expert-to-Expert.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
In Help, Substitute Text ... solidhelix08 Shell Programming and Scripting 6 02-07-2008 01:21 AM
how to write perl substitute command in shell scripts param_it UNIX for Dummies Questions & Answers 3 07-03-2007 01:09 AM
Substitute File name vanand420 Shell Programming and Scripting 22 03-13-2007 10:40 PM
Substitute in vi kingdbag UNIX for Dummies Questions & Answers 5 01-17-2007 10:42 AM
Substitute Command in vi lesstjm UNIX for Dummies Questions & Answers 10 03-28-2005 10:11 AM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 03-22-2007
Registered User
 

Join Date: Mar 2005
Posts: 47
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Problem with cat with PERL Substitute

system("cat FILENAME | perl -e 'while(<>) { print $_;}'");

system("cat FILENAME | perl -e 'while(<>) { $_ =~ s/XXX/YYY/g; print $_;}'");

First command works fine but second command gives the following error:

syntax error at -e line 1, near "{ =~"
syntax error at -e line 1, near ";}"
Execution of -e aborted due to compilation errors.


Any idea why?

- Jingi
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 03-22-2007
Perderabo's Avatar
Unix Daemon
 

Join Date: Aug 2001
Location: Washington DC Area
Posts: 8,240
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
It works for me.
Code:
$ cat file1
line1
line2 XXX
line3
$ cat x.c
#include <stdlib.h>
main()
{
        system("cat file1 | perl -e 'while(<>) { $_ =~ s/XXX/YYY/g; print $_;}'");
        exit(0);
}
$ gcc x.c -o x
$ ./x
line1
line2 YYY
line3
$
Reply With Quote
  #3 (permalink)  
Old 03-23-2007
Part Time Moderator and Full Time Dad
 

Join Date: Sep 2006
Location: Rossem, Tazenda
Posts: 721
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
when i put that system statement in a perl script, it gave those errors.
then this worked:
Code:
system ("cat FILENAME | perl -e 'while(<>) { s/XXX/YYY/g; print $_;}'");
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 04:26 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101