But how do I find out if a word is not on a lineJust use the negated version of the regex match e.g
shell> perl -le 'print "yep" if "foo bar" !~ /baz/' yep
The second thing i would like to know is how do I remove the first char from a string in an array element?Using substr is a pretty sensible approach e.g
Or you could use a simple s/// e.gshell> perl -le '$_="xfoo"; print; substr($_,0,1)=""; print' xfoo foo
shell> perl -le '$_="xfoo"; print; s/^.//; print' xfoo foo
The third thing is i want to remove all chars up to the last ',' in an array element.You could use a naive regex for this which would just match a comma and then everything that wasn't a comma to the end of the string
But if you're parsing comma-delimited fields then the likes of Text::xSV is a much saner approach.shell> perl -le '$_="foo,bar,baz"; print; s/,[^,]+$//; print' foo,bar,baz foo,bar
The above answers can be applied to an array element just as easily a simple scalar variable as they're both scalar values.
_________
broquaint
In reply to Re: Not find a word / remove first char in string / remove last value in list
by broquaint
in thread Not find a word / remove first char in string / remove last value in list
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |