Dear Monks, I have a very simple idea, having a 'go' command, that cd's to the most used directories. As I want to 'go' in the shell , I need to write it as a shell function. So, in the .bashrc file I have:
function go { case $1 in (tmp) cd $HOME/tmp;; (home) cd $HOME/home;; esac }
So I can 'go tmp', 'go home' in the shell and I will go. OK. So say I want to add a new route, I have to append a new statment on the switch case, say:
function go { case $1 in (tmp) cd $HOME/tmp;; (home) cd $HOME/home;; (fd) cd $HOME/foodir;; esac }
With requires editing the .bashrc file. I would love to do instead(on the shell):
go --add fd $HOME/foodir
so the .bashrc file is edited the way I would do it (shown above). Then my approach is, of course, editing the file:
function go { if [ $1 = "--add" ];then perl -pi -ne 's/UNKNOWN/($2) cd $3;;/' ~/.bashrc fi case $1 in (tmp) cd $HOME/tmp;; (home) cd $HOME/home;; esac }
And here comes the extreme power of perl regex. I've been trying to solve the correct regex that would append a new entry on the switch case, but had no luck. If only you monks could help me getting this job done :)

In reply to Appending in a switch case statement by diffredential

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.