Sudarshan Raghavan wrote:
>
> On Thu, 10 Oct 2002, david wrote:
>
> > Sudarshan Raghavan wrote:
> > >
> > > You will have to escape the @ and you don't need the /g modifier
> > > This can be written as
> > > (my $name = basename($file)) =~ s/\@+$//;
> >
> > escape the '@' character is unecessary.
>
> Read about the @+ array in perldoc perlvar. You will have to escape
> the '@' otherwise it will try to interpolate @+.
> Did you try it out? If it is uneccessary why does this happen?
>
> use strict;
>
> while (<STDIN>) {
> chomp;
> s/@+$//;
> print "$_\n";
> }
>
> Given the input
> abcd@@
> It outputs
> abcd@@
>
> use strict;
>
> while (<STDIN>) {
> chomp;
> s/\@+$//;
> print "$_\n";
> }
>
> Given the input
> abcd@@
> It outputs
> abcd
What version of Perl are you using?
$ perl -Mstrict -wle'@+ = qw/b c d/;(my $name = q/a b c d efg@@@@/) =~ s/@+//; print
$name'
a b c d efg
$ perl -Mstrict -wle'my @a = qw/b c d/;(my $name = q/a b c d efg@@@@/) =~ s/@a//;
print $name'
a efg@@@@
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]