Charles K. Clarkson wrote: > Try: > >$q->param('jahr', 4444 ); >my ($jahr) = $q->param('jahr') =~ /\d{4}/; >print $jahr; > >-- >prints: >1 >-- > > Now try it this way: > >$q->param('jahr', 4444 ); >( my $jahr = $q->param('jahr') ) =~ /\d{4}/; >print $jahr; > >-- >prints: >4444
Wait a second... your second version does only print '4444' if the original $q->param('jahr') contains only 4 digits. Try the same with $q->param('jahr', 44445555 ); ( my $jahr = $q->param('jahr') ) =~ /\d{4}/; print $jahr; -- prints: 44445555 You assign the whole $q->param('jahr') to $jahr and then match 4 digits in the resulting string - without changing the value of a variable. My original version (I posted a messed up intermediate version, sorry for that) says: my ($jahr) = $q ->param('jahr') =~ /(\d{4})/; Note the brackets around both the variable $jahr and the regex. This assigns $1 to $jahr in list context. Thanks, Jan -- There's no place like ~/ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>