Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^2: Pearls (not really) of Perl programming

by revdiablo (Prior)
on Nov 24, 2004 at 21:35 UTC ( #410254=note: print w/ replies, xml ) Need Help??

in reply to Re: Pearls (not really) of Perl programming
in thread Pearls (not really) of Perl programming

What's bad about this? Sure, there are other ways to do it, but it doesn't seem particularly egregious to me. For those following along at home, here are some other ways:

$default_title =~ s/(.{50}).*/$1/; $default_title =~ s/./$ctr++<50?$&:""/ge; $default_title = pack "A50", $default_title; $default_title = join "", (split //, $default_title)[0..50];

Personally, I like the original much better than these alternatives. The only other way that I would possibly use is:

substr($default_title, 50) = "";

But substr as an lvalue is not something everyone knows about, so it's not clearly the best option.

Comment on Re^2: Pearls (not really) of Perl programming
Select or Download Code
Replies are listed 'Best First'.
Re^3: Pearls (not really) of Perl programming
by ihb (Deacon) on Nov 26, 2004 at 02:14 UTC

    More regex solutions: (don't forget the s modifier)

    ($default_title) = $default_title =~ /(.{0,50})/s; $default_title =~ s/(?<=.{50}).*//s;
    I'd also want to add
    substr($default_title, 50, length($default_title), '');
    and second you and the original isn't that bad.


    See perltoc if you don't know which perldoc to read!
    Read argumentation in its context!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://410254]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2015-11-26 01:01 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (695 votes), past polls