Visit Our UNIX and Linux User Community


Hidden Characters in Regular Expression Matching Perl - Perl Newbie


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Hidden Characters in Regular Expression Matching Perl - Perl Newbie
# 1  
Old 07-26-2011
Hidden Characters in Regular Expression Matching Perl - Perl Newbie

I am completely new to perl programming. My father is helping me learn said programming language. However, I am stuck on one of the assignments he has given me, and I can't find very much help with it via google, either because I have a tiny attention span, or because I can be very very dense.

My problem is this:
I am attempting regular expression matching and replacement on a file that has a hidden character in the word I am trying to replace.

The character is ^A. It is in the word co^Amputer . It shows up multiple times, and all times has ^A in it.
My code is:
Code:
#!/usr/bin/perl
use strict;
my $rules ="/Users/caitlin/scripts/challenge.txt";

open my $FH,'<', $rules or die $!;

while  (my $line = <$FH>){
        $line =~ "s/computer/WINNER/g";
        print $line;
}

According to my father, who is not available right now, I should be able to match and replace with method of matching that I am already familiar with, but it evades me.

And I did searches to try and find ways to match it, but I received answers that did not seem to apply to the issue I am currently experiencing.

I would really appreciate some help Smilie

Thank you very much!
# 2  
Old 07-26-2011
First - you shouldn't use quotes around s/computer/WINNER/g. Second, perl allows use control chars in its strings and regexes like "\cA" for Ctrl-A.

I hope this information is enough for your assignment.

Good luck!
This User Gave Thanks to yazu For This Post:
# 3  
Old 07-26-2011
Thank you very much! That did fix it! I'll keep this in mind for future reference! =D
# 4  
Old 07-26-2011
Try:
Code:
$line =~ "s/co\cAmputer/WINNER/g";

# 5  
Old 07-28-2011
Regular Expressions and Private Arrays

Okay! Thanks for the help with the previous code!

I'm stuck again on something else now though. ^_^;

I have to add the values of an array @save that has numbers in it.
Code:
#! usr/bin/perl
use strict;

my $rules ="/Users/caitlin/scripts/challenge2.txt";
open my $FH, '<', $rules or die $!;
my @numbers;
my @save;


while (my $line = <$FH>){
        @numbers = split(m/[^0-9]+/, $line);
        push (@save, @numbers);

}

print @save;

It's not done yet because I have to add all the intergers in the array. The challenge2.txt contains text and numbers that I had to split. The result has empty spaces in it.

I need to take each result from the loop and add the next result to it. And as stated before, I'm dense... Smilie My attempts at it haven't amounted to executable code.

Help would be very much appreciated!
Thank you! Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #549
Difficulty: Medium
a = 10; is an example of a unary operation.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl regular expression to remove the special characters

I had a string in perl script as below. Tue Aug7 03:54:12 2012 Now I need to replace the special character with space. After removing the special chaacters Tue Aug 7 03:54:12 2012 Could anyone please help me here for writing the regular expression? Thanks in advance.. Regards, GS (1 Reply)
Discussion started by: giridhar276
1 Replies

2. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

3. Shell Programming and Scripting

Perl regular expression and %

Could you help me with this please. This regular expression seems to match for the wrong input #!/usr/bin/perl my $inputtext = "W1a$%XXX"; if($inputtext =~ m/+X+/) { print "matches\n"; } The problem seems to be %. if inputtext is W1a$XXX, the regex doesnot match.... (5 Replies)
Discussion started by: suppandi7
5 Replies

4. Shell Programming and Scripting

Perl Regular Expression

Hello, I am trying to use perl LWP module to read and get a specfic URL page. The issue is that the URL ends with the data and time and time is not consistent it changes all the time. if anyone could help me how to write a regular expressin that would work in the LWP::UserAgent get function to... (0 Replies)
Discussion started by: bataf
0 Replies

5. Shell Programming and Scripting

Need perl regular expression

Hi, I am looking for a Perl regular expression to match the below pattern of a java script file. var so = object.device.load('camera','value'); I want to grep out such lines present in the *.js files. The conditions are: a) the line may start with blank space(s) b) always the... (3 Replies)
Discussion started by: royalibrahim
3 Replies

6. Shell Programming and Scripting

Regular expression matching in BASH (equivalent of =~ in Perl)

In Perl I can write a condition that evaluates a match expression like this: if ($foo =~ /^bar/) { do blah blah blah } How do I write this in shell? What I need to know is what operator do I use? The '=~' doesn't seem to fit. I've tried different operators, I browsed the man page for... (3 Replies)
Discussion started by: indiana_tas
3 Replies

7. Shell Programming and Scripting

regular expression in perl

hi, i want to extract the sessionID from this line. QnA Session Id : here the output should be-- QnA_SessionID=128589 Thanks NT (3 Replies)
Discussion started by: namishtiwari
3 Replies

8. Programming

Regular Expression matching in PERL

I am trying to read a file and capture particular lines into different strings: LENGTH: Some Content here TEXT: Some Content Here COMMENT: Some Content Here I want to be able to get (LENGTH: .... ) into one array and so on... I'm trying to use PERL in slurp mode but for some reason... (8 Replies)
Discussion started by: Legend986
8 Replies

9. Shell Programming and Scripting

perl regular expression

letz say that my file has 7 records with only one field. So my file has: 11111111 000000000000000 1111 aaaabbbccc 1111111222000000 aaaaaaaa zz All i need is: 1. when the field has a repetition of the same instance(a-z or 0-9), i would consideer it to be invalid.... (1 Reply)
Discussion started by: helengoldman
1 Replies

10. Shell Programming and Scripting

Regular expression help in perl

Hi all, I am trying to match a multi line string and return the matching string in one line. Here is the perl code that I wrote: #!/usr/bin/perl my $str='<title>My title</title>'; if ($str =~ /(<title>)(+)(<\/title>)/ ){ print "$2\n"; } It returns : My title I want the... (3 Replies)
Discussion started by: sdubey
3 Replies

Featured Tech Videos