Not sure how cool this really is but it was a result of me trying to get back to using *cough* windows command line after too much linux (is there such a thing??)

#! perl system("cls"); print "perlshell ;)\n\n"; my ($dir, $line); while(1) { $dir = `cd`; chomp $dir; print "$dir> "; $line = <STDIN>; chomp $line; $line =~ s/^\s+//g; $line =~ s/^ls( -\w+)?/dir/i; $line =~ s/^cp( -\w+)?/copy/i; $line =~ s:/:\\:g; unless( $line =~ /^cd/ ) { system("$line"); } else { $line =~ s/^cd\s+//i; (chdir($line) or print "ERROR: Directory ($line) doesn't exist +!\n") if(length($line)); } }

Now all I have to do is replace the cheesy DOS imitation they call a command prompt with it ;)

Replies are listed 'Best First'.
Re: perlshell ;)
by johannz (Hermit) on Jan 25, 2001 at 22:08 UTC

    Have you looked at The Perl Shell, also available from psh. This is a full shell implemented in perl, and I've used older versions on windows successfully.

      OOPS! forgotten about that! Not really a good name to name my node and scriptlet then *blush*

Re: perlshell ;)
by Anonymous Monk on Jan 25, 2001 at 23:54 UTC
    I also made my own perl Shell (I called it Dish). It uses readline and curses so it is probably way too advanced for DOS. Its also not complete. I've given up on it for now, but here is the code in case someone else wants to give it a go. My problem was getting things like color ls to work with curses.

    My website with my code is at http://www.hld.ca/opensource/Dish
    Its GPL'd so no worry's about licenses :) ...no sarcasm here :)