> A quick question for you, here is the code:
> $tt=regsubst("test","^(.*)->(.*)",'\2')
>
> Doesn't return: undef or nil, it does return: "test"
As expected and intended.
> Niether does $tt=regsubst("test","^(.?)->(.*)",'\2')
> or $tt=regsubst("test","^(.+?)->(.*)",'\2').
>
> Is there a way to return undef if the string doesn't include '->something' ?
Perhaps something like this:
$x = 'test'
$temp = regsubst($x, '^(.*)->(.*)', '\2')
if $temp == $x {
# No substitution done, must mean there is no "->" in $x
$tt = undef
} else {
$tt = $temp
}
Or perhaps this:
$tt = regsubst($x, '^(.*)->(.*)|.*', '\2')
It will however give you the empty string (""), not undef, if there is
no "->" in the string.
/Bellman
/Bellman
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
> Thx for the reply it helps.
>
> But how come the \2 returns something that I never asked?
It doesn't. But since there are no occurrances of '^(.*)->(.*)',
then there are none that get replaced. Similarly, if you do:
regsubst('foobar', 'x', 'y')
you will get 'foobar', since there *is* no 'x' in 'foobar' that
can be replaced by a 'y'.
/Bellman
/Bellman