Visit Our UNIX and Linux User Community


Perl Meta character understanding


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Perl Meta character understanding
# 1  
Old 08-17-2010
Perl Meta character understanding

Hello All,

I have some expression:

Code:
if (/^([12]\d\d\d[01]\d[0-3]\d\.\d\d\d\d\d\d)\s+(.+)$/) 
{
    warn "$argv0(" . __LINE__ . "): rbl2ts{$2} == '$rbl2ts{$2}' \$1==$1\n" if       ($debug);
    $rbl2ts{$2} = $1 if (!defined($rbl2ts{$2}) or ($1 le $rbl2ts{$2}));
   warn "$argv0(" . __LINE__ . "): rbl2ts{$2} == '$rbl2ts{$2}' \$1==$1\n\n" if ($debug);
}


Can Anyone make me understand how this if condition will get satisfy....
mean what is the condition basically
# 2  
Old 08-17-2010
Any of the following would match.

Code:
^ = beginning of sting
[01] = this spot can be 0 or 1
[0-3] = this spot can be 0, 1, 2 or 3
\d = Numeric
\. = means a .
\s+ = 1 or more white space (tab or space)
$ = end of string
.+ = 1 or more of any character

the rest appears to give specifics of errors or debug info. $rb12ts{$2} is application specific so its hard to tell.

Code:
   10000000.000000 Somthing here it doesnt care about
   10000010.000000 Somthing here it doesnt care about
   10000020.000000 Somthing here it doesnt care about
   10000030.000000 Somthing here it doesnt care about
   20000000.000000 Somthing here it doesnt care about
   20000010.000000 Somthing here it doesnt care about
   20000020.000000 Somthing here it doesnt care about
   20000030.000000 Somthing here it doesnt care about
   10001000.000000 Somthing here it doesnt care about
   10001010.000000 Somthing here it doesnt care about
   10001020.000000 Somthing here it doesnt care about
   10001030.000000 Somthing here it doesnt care about
   20001000.000000 Somthing here it doesnt care about
   20001010.000000 Somthing here it doesnt care about
   20001020.000000 Somthing here it doesnt care about
   20001030.000000 Somthing here it doesnt care about
   29991939.999999 Somthing here it doesnt care about

# 3  
Old 08-17-2010
Thanks.....
I got a good information how to deal with this meta character.....

one more question:

Code:
if (m/^([0-3]\d-[a-z][a-z][a-z]-\d\d\.\d\d:\d\d:\d\d)\s+(\S+)\s+\S+\s+"(\S+)"/oi)

Here what is the meaning of :\d : any specific meaning or just :numeric...

and what is oi and "(\S+)"
# 4  
Old 08-17-2010
\S = Not White Space
+ = 1 or more

Not sure about o but i is case-insensitive
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #369
Difficulty: Medium
The name bytecode originates from instruction sets that have zero-byte opcodes followed by optional parameters.
True or False?

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with perl code understanding

Hi, I need to understand below perl code, can some one advise me. perl -MDate::Parse -e'BEGIN{$main::now=time;$main::old=(time-60*30)}' -nE'if(/^(\w+\s+\d+\s+\d+:\d+:\d+)/) {$t=str2time $1; $t > $old && $t < $now && print}' (1 Reply)
Discussion started by: learnbash
1 Replies

2. Shell Programming and Scripting

Help understanding some Perl code.

Well, I found myself trying to fix some Perl code (Ive never done any Perl in my life) and I pinpointed the place where the bug could be. But to be sure I have to know what does a few line of code mean: $files_lim =~ (/^\d*$/) $files_lim =~ (/^\d*h$/) $files_age =~ s/h// The code where... (2 Replies)
Discussion started by: RedSpyder
2 Replies

3. Shell Programming and Scripting

Understanding perl statement

can someone help me how to interpret this line? my ($class, $hashref) = @_; my $portfolio = {}; if ($hashref->{portfolio_id}) { ($portfolio) = GEmySQL->get ("select * from portfolio where portfolio.id=$hashref->{portfolio_id}"); } =============== Question: how do... (2 Replies)
Discussion started by: onlinelearner02
2 Replies

4. Shell Programming and Scripting

Perl: Understanding @allwords

Hi guys, Here is the code: my @allwords = (); my %seen=(); foreach my $curr (@allwords) { $seen{$curr} = 1; } @allwords = keys %seen; my question is: what will @allwords now contain, or how would the entries in the @allwords array be different after this manipulation? Thank... (3 Replies)
Discussion started by: 300zxmuro
3 Replies

5. UNIX for Dummies Questions & Answers

List files using { } meta character

p { margin-bottom: 0.08in; } How to match all files that end with the release number using the { } meta character in /boot. (2 Replies)
Discussion started by: farash
2 Replies

6. Shell Programming and Scripting

perl command understanding

Hi All, Can you please help me interpret the following command. Which I am not able to understand. Also can you please illustrate what it is used for. perl -pi -e 's/\015//g' text_file.dat Regards (3 Replies)
Discussion started by: rakesh.su30
3 Replies

7. UNIX for Dummies Questions & Answers

Doubt with regexp-meta character

Hi, I am learning reg exp a bit :) Meta char info: {n,m} Matches the preceding character at least n times but not more than m times, for example, 'ba{2,3}b' will find 'baab' and 'baaab' but NOT 'bab' or 'baaaab'. Values are enclosed in braces (curly brackets). Input file: 112 11112... (2 Replies)
Discussion started by: dragon.1431
2 Replies

8. Shell Programming and Scripting

What is the meta character for the Ctrl button?

In this script I have, it says press Ctrl+W+? for help, but it doesn't do anything. I looked in the script and it binds: bind ^W meta2_character. How do I make it the Ctrl button so I can do Ctrl+W? (There are some other commands that use Ctrl+W+another character/letter/number.) (4 Replies)
Discussion started by: guitarscn
4 Replies

Featured Tech Videos