String if statements - Perl


 
Thread Tools Search this Thread
Top Forums Programming String if statements - Perl
# 1  
Old 03-28-2010
String if statements - Perl

So far, all I have been able to come up with is:
Code:
if ($check=~/no/ || $check=~/n/)

but the problem with this, is that it looks for any character and the if statement is true. So if I wanted to check for an argument "-help" or lets say a variable string that could be a file name. Then =~/-help/ would be true to "-help" and "/etc/example-helpers"

Is there an expression in perl that allows me to just be strict with the string I want to check?
# 2  
Old 03-28-2010
Yes, there's eq. From perldoc perlop:
Quote:
Binary "eq" returns true if the left argument is stringwise equal to the right argument.

Binary "ne" returns true if the left argument is stringwise not equal to the right argument.

Binary "cmp" returns -1, 0, or 1 depending on whether the left argument is stringwise less than, equal to, or greater than the right argument.
Also, if it's about command line parsing, I'd suggest taking a look at Getopt::Long, which is part of the default distribution.
# 3  
Old 03-28-2010
yeah,

if ($check eq 'no')

use the getopt module.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl combine multiple map statements

I have a file like file. file.TODAY.THISYEAR file.TODAY.LASTYEARI want to substitute the words in caps with their actual values so that output should look like file.140805 file.140805.2014 file.140805.2013For this I am reading the file line bye line in an array and using multiple map... (1 Reply)
Discussion started by: sam05121988
1 Replies

2. Shell Programming and Scripting

Remove not only the duplicate string but also the keyword of the string in Perl

Hi Perl users, I have another problem with text processing in Perl. I have a file below: Linux Unix Linux Windows SUN MACOS SUN SUN HP-AUX I want the result below: Unix Windows SUN MACOS HP-AUX so the duplicate string will be removed and also the keyword of the string on... (2 Replies)
Discussion started by: askari
2 Replies

3. Shell Programming and Scripting

perl if elsif statements

I have having problems with an IF statement in my perl script: if ($model eq "N\\A") {} elsif ($kernel =~ m/xen/) { $model = ("Virtual Machine\n")}; What i am trying to accomplish is if the model is set to "N\A" and the kernel variable has xen somewhere in it i would like to change... (3 Replies)
Discussion started by: insania
3 Replies

4. Shell Programming and Scripting

perl get partial string of a string

Hi All, I have: $d = "12.02222222222"; $d =~ s/(.*).(.*)/$1/e; The output should be just 12. Please guide me my expression wrong. Thanks (5 Replies)
Discussion started by: jimmy_y
5 Replies

5. Shell Programming and Scripting

Perl Extract String

Hi, I have a string like "something is good wanted (bla bla)" I need to get the world "wanted" from this string and "assign it to a variable".. but it's not a static word so i want to get that word by searching the pattern as follows <space>desiredword<space>( and i tried to get that... (6 Replies)
Discussion started by: xlynx3
6 Replies

6. Shell Programming and Scripting

[Perl] Find one string, change another string.

Hi, In principle I am searching for a Perl equivalent for this sed command: sed "/TIM_AM_ARGS=/ s/60/1440/" $EDIT_FILE > $TEMP_FILE cp $TEMP_FILE $EDIT_FILE I was wondering if it needs to be like this, or that there other, shorter, alternatives: open (TIMENVFILE, "<$timenvfile") or die... (5 Replies)
Discussion started by: ejdv
5 Replies

7. Shell Programming and Scripting

Perl: Better way to match string within a string

Hi, I'm trying to get one field out of many as follows: A string of multiple fields separated with "/" characters: "/ab=12/cd=34/12=ab/34=cd/ef=pick-this.one/gh=blah/ij=something/" I want to pick up the field "ef=pick-this.one" which has no regular pattern except it starts with "ef=xxxx"... (3 Replies)
Discussion started by: Juha
3 Replies

8. Programming

Perl get a part of a string

I need some help to divide an email address. I need to grab the left part of the @. Maybe substr? example: john.smith@domain.com.br I would need to grab just the username part... my $user = "john.smith@domain.com.br"; if($user =~ s/@/\@/){ print "EMAIL: " .$user; } (2 Replies)
Discussion started by: 4scriptmoni
2 Replies

9. Shell Programming and Scripting

search for a string -perl

Hi, I have a line where i need to get certain part of it.. example.. text txt tt: 1909 thats how exactly it looks and all spaces are to be counted.. i need to retrieve 1909.. Thanks (11 Replies)
Discussion started by: meghana
11 Replies

10. Shell Programming and Scripting

Perl - backticks v system in if statements

Can someone explain the difference between backticks and system when evaluated in these if statements: sub getDate { print "start date\n"; if ( system("/bin/date") ) { print "can't get date\n"; exit(2); } print "finish date\n"; } Returns the following: start date Thu... (5 Replies)
Discussion started by: gjkeenan
5 Replies
Login or Register to Ask a Question