in reply to Need a one liner

#!/usr/bin/perl use strict; use warnings; my $a = '2323jjf ("$("&&"&$__\\/'; my $b = $a; $a =~ s/\W//g; $a =~ s/_//g; $b =~ s/\W|_//g; print "a = $a\n"; print "b = $b\n"; __END__
Or, in one line:
perl -pe 's/\W|_//g;'

Replies are listed 'Best First'.
Re^2: Need a one liner
by Skeeve (Parson) on Jul 17, 2004 at 16:30 UTC
    Or, in the sense of TMTOWTDI:  s/[\W_]//g
Re^2: Need a one liner
by Ananda (Pilgrim) on Jul 17, 2004 at 10:48 UTC
    How can a "." character be allowed in the string.
    Ananda
      #!/usr/bin/perl use strict; use warnings; my $a = my $b = my $c = join '', map(chr, 32 .. 126); print "a = $a\n"; $a =~ s/\W//g; $a =~ s/_//g; $b =~ s/\W|_//g; # allow letters, numbers, and dots $c =~ s/[^a-z0-9.]//gi; print "a = $a\n"; print "b = $b\n"; print "c = $c\n"; __END__
      You should take a look at perlre when you get a chance.