Perl parse string


 
Thread Tools Search this Thread
Top Forums Programming Perl parse string
# 1  
Old 02-28-2013
Perl parse string

Hi Perl Guys

I have another perl question

I have the following code that i have written
Code:
Getopt::Long::config(qw( permute bundling ));
my $OPT = {};
GetOptions($OPT, qw(
    ver=s
    help|h
)) or die "options parsing failed";

This will allow the user to do something like this

Code:
 prog.pl --ver 2b2

i need a way to parse the bit atfer --ver ( which is take from the get opt above using =s )

for example 4r2v1 acutally relates to
Code:
3DE4_linux64_r2b2

and i will end up using it something similar to this

Code:
exec $apppath/$version

version being the bit i got from --ver

how can a parse the bit after --ver and apply it

the other options that is can be like below

3DE4_linux64_r1
3DE4_linux64_r2b2
3DE4_linux64_r2
3DE4_linux64_r3b1

i hope that make sense

Many Many Many Thanks

Last edited by ab52; 02-28-2013 at 05:09 PM.. Reason: got the tag for code wrong- d'oh
# 2  
Old 02-28-2013
Code:
#! /usr/bin/perl
use strict;

use Getopt::Long;
my $OPT = {};
my ($version,$help_flag);
my $OPT=GetOptions(
    "ver=s" =>\$version,
    "help|h" =>\$help_flag
)or die "options parsing failed";
my %versions=(
r1=>"3DE4_linux64_r1" ,
r2b2=>"3DE4_linux64_r2b2" ,
r2=>"3DE4_linux64_r2",
r3b1=>"3DE4_linux64_r3b1");
print $versions{$version}?$versions{$version}:"$version is not a valid version string" , "\n";;

# 3  
Old 02-28-2013
Thanks. But is there a way not to do it with a hard code list. That mean every time we get a new version I will have to update it. If I could just take the version then i would not have to update i
# 4  
Old 02-28-2013
Sorry, of course you can, I need to look at the data more carefully Smilie
Code:
use Getopt::Long;
my $OPT = {};
my ($version,$help_flag);
my $OPT=GetOptions(
    "ver=s" =>\$version,
    "help|h" =>\$help_flag
)or die "options parsing failed";
my $appath="/opt/my/sfw/";
my $string="3DE4_linux64";
exec (-x "$appath/$string_$version")?("$appath/$string_$version"):("echo","$version is not a valid version string" );

# 5  
Old 03-01-2013
Hi

Thanks for your reply, i have this

Code:
# Get command-line options
Getopt::Long::config(qw( permute bundling ));
my ($version,$help_flag);
my $OPT = {};
GetOptions($OPT, qw(
    "ver=s" =>\$version,
    "help|h" =>\$help_flag
)) or die "options parsing failed";


if ($OPT->{help}) {
    info();
    exit(2);
}

but getting some errors

Code:
Possible attempt to separate words with commas at ./3DE line 73.
Error in option spec: ""ver=s""
Error in option spec: "=>\$version,"
Error in option spec: ""help|h""
Error in option spec: "=>\$help_flag"

any suggestions?
Thanks

Last edited by ab52; 03-01-2013 at 04:35 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl to parse

The below code works great to parse out a file if the input is in the attached SNP format ">". perl -ne 'next if $.==1; while(/\t*NC_(\d+)\.\S+g\.(\d+)()>()/g){printf("%d\t%d\t%d\t%s\t%s\n",$1,$2,$2,$3,$4,$5)}' out_position.txt > out_parse.txt My question is if there is another format in... (10 Replies)
Discussion started by: cmccabe
10 Replies

2. Shell Programming and Scripting

Perl :: to parse the data from a string.

Hi folks, I have a line in log from which I need to parse few data. Jul 6 00:05:58 dg01aipagnfe01p %FWSM-3-106011: Deny inbound (No xlate) From the above... I need to parse the %FWSM-3-106011: substring. Another example Jul 13 00:08:55 dq01aipaynas01p %FWSM-6-302010: 2 in use, 1661... (3 Replies)
Discussion started by: scriptscript
3 Replies

3. Shell Programming and Scripting

parse a mixed alphanumeric string from within a string

Hi, I would like to be able to parse out a substring matching a basic pattern, which is a character followed by 3 or 4 digits (for example S1234 out of a larger string). The main string would just be a filename, like Thisis__the FileName_S1234_ToParse.txt. The filename isn't fixed, but the... (2 Replies)
Discussion started by: keaneMB
2 Replies

4. Shell Programming and Scripting

Perl Parse

Hi I'm writing simple perl script to parse the ftp log as below: Local directory now /home/user/testing 227 Entering Passive Mode (192,254,19,34,8,228). 125 Data connection already open; Transfer starting. 09-25-09 02:33PM 25333629 abc.tar 09-14-09 12:50PM 18015752... (1 Reply)
Discussion started by: netxus
1 Replies

5. Shell Programming and Scripting

Parse string

Hi, I need to parse a string, check if there are periods and strip the string. For example i have the following domains and subdomains: mydomain.com, dev.mydomain.com I need to strip all periods so i have a string without periods or domain extensions: mydomain, devmydomain. I use this for... (12 Replies)
Discussion started by: ktm
12 Replies

6. Shell Programming and Scripting

Perl parse string to time

Hi, I have got this value 18:21:23.330 in one of my variables. Now I need to parse this time to something. And then I have to compare it with 2 times, let's say, 15:00 hrs to 23:00 hrs. Can Date::Manip rescue me from this horrifying situation? I am quite new to Perl and especially this... (1 Reply)
Discussion started by: King Nothing
1 Replies

7. Shell Programming and Scripting

Parse String Using Sed

Hi, I am wondering if there's a simpler way to extract the second occurrence of a word enclosed in that matches my search criteria. Sample Input is as follows: Error installing feature - com.er.nms.cif.ist.NoMatchingUpgra Error installing feature -... (4 Replies)
Discussion started by: racbern
4 Replies

8. Shell Programming and Scripting

Parse String from a Variable

Hello, Is there a quick way to parse the values from a variable? The variable has the following sample input: TA= The values of the TA variable is not fixed/hardcoded Basically I need to get the IV_Test and PF_SAPP_FWK values. I created a script that first use sed to remove ,... (3 Replies)
Discussion started by: racbern
3 Replies

9. Shell Programming and Scripting

how to parse this string

I want to get filenames from the following input. How can I parse this in bash. input data ------------------------------------------------------------------- path=/aaa/bbb/filename1;/aaa/filename2;/aaa/bbb/ccc/ddd/filename3 -------------------------------------------------------------------... (13 Replies)
Discussion started by: hcliff
13 Replies

10. Shell Programming and Scripting

Perl: Search for string then parse next line

Hi All, I have a file that I need to be able to find a pattern match on one line then parse data on the next or subsequent lines - I will know which line needs to be parsed beforehand. This is what I currently have: while (<COMMAND_OUT>) { if ($_ =~ m/TEST/) { ... (4 Replies)
Discussion started by: pondlife
4 Replies
Login or Register to Ask a Question