On Aug 5, 12:39 am, [EMAIL PROTECTED] (Aruna Goke) wrote:
> How can I work with this kind on expression without escaping the range.
>
> #!/usr/bin/perl
>
> use warnings;
> use strict;
> use DateTime;
>
> my $ystd = DateTime->today->subtract(days => 1);
> my $mdy = $ystd->ymd('-'); #date format in 09-25-2007
> my $dty = $ystd->mdy(''); #date in format 09252007
> {
> my ($sum, $newsum_b, $sum_b, $cnt_ans, $cnt_nans);
> open my $fh, '<', $mfile or die "open '$mfile': $!" ;
> open my $nfh, '>', $yfile or die "open '$yfile': $!" ;
> while (<$fh>){
> if(/$ystd/){
> cdr_proc();
>
> }
>
> if I used the date 2007\-08\-04, it will work.. but I want to work with
> the regexp without escaping the -.
It works just fine without escaping anything. The - is not a special
character in Regular Expressions. It is only a special character in
character classes, which your Regexp doesn't have.
If you actually *did* have characters you needed to escape in your
variable, you'd want the \Q...\E escape sequences, or the quotemeta
function:
perldoc perlre
perldoc -f quotemeta
Paul Lalli
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/